GitLabel + Runner Docker 化安装

8 篇文章 0 订阅
8 篇文章 0 订阅

最近在研究GitBook,GitBook 作为一个简单发布的电子书功能,还是非常好用的,所以在这个基础上,开始尝试搭建GitBook环境,当然,这里并不主要介绍GitBook环境的搭建, 而是做一整套GitBook 自动化发布的整套服务。

 

        我们会使用到 Docker, Git + GitLab + GitLab-Runner + GitBook 一整套环境,因为只有一台服务器,所以这里对GitLab 以及 GitLab-Runner在Docker中进行发布

 

       Docker 自打收费起,对于 Centos 系统中,yum 安装 docker 是会存在问题的,比如 docker-compose 不可以使用等,所以我们需要改变一下 Docker 安装方式-->  官方文档

       内容中写到2种方式

       1,增加 yum 安装源

       2,下载 DOCKER CE 安装包

       任远一种,都是没有任何问题的,这里不再阐述安装过程

 

Docker 安装完毕后,我们开始对 GitLab 进行安装, 主要还是在 Gitlab 官网查看安装方法 -->  中文文档     官方文档

GitLab 我们的第一主角,后面对会 Runner 进行介绍

1,GitLab 是主要的文档,使用手册

2,Omnibus 主要是对环境集成做简介

3,Runner 针对CICD 服务的应用

 

我们直接开始部署环境,对于运行环境, 我们直接使用官方Docker镜像就好

#下载镜像
docker pull docker.io/gitlab/gitlab-ce:latest

#运行镜像
sudo docker run --detach \
	--hostname gitlab.example.com \
	--publish 8929:80 --publish 2289:22 \
	--name gitlab \
	--restart always \
	--volume /srv/gitlab/config:/etc/gitlab \
	--volume /srv/gitlab/logs:/var/log/gitlab \
	--volume /srv/gitlab/data:/var/opt/gitlab \
	gitlab/gitlab-ce:latest

docker 命令我就不讲解了,这里说明下,docker 收费后,区分除了2个版本,企业版/ 社区版,我们使用的是社区版, 也就是 CE 版本,EE 版本为企业版本。

注意事项:

         GitLab 除了 Web 访问地址意外,还需要看 project 的仓库地址,这里的Web地址不能直接作为仓库地址使用的,且我们使用的是 Docker 容器,所以项目的仓库地址会成为 容器的 内部IP 地址,所以,官方给出的解决方案是容器配置 --hostname ,那么 Git 项目的地址就会变为 --hostname 配置的地址,最好配置成网址,这样比较方便更改地址。

       关于仓库地址的另一个坑,就是 --hostname 端口号问题,目前最新版本是不可以直接映射端口号的,这里需要注意,解决方案,个人觉得还是使用 Nginx 代理最好,因为这里 项目 地址端口是 80, 用 Nginx 代理, 就没所谓我们端口问题,可以随意映射。

      别忘了防火墙和端口开放!!!

  

         Docker 容器运行起来以后,我们可以访问 http://gitlab.example.com:8929 访问 GitLab 了,如果加上 Nginx,那我们就不用再使用端口号了。

         第一次访问,我们需要直接设定 root 用户密码(超级管理员,用户账号是 root,直接设置密码即可),然后再注册一个普通用户来进行项目操作即可。

       GitLab 中文使用文档       GitLab 英文使用文档

当然,我们还可以使用 docker-compost 来对容器进行运行,关闭,删除等操作。docker-compose 以后再做介绍。

 

接下来,开始安装 GitLab-Runner

GitLab 很好理解,主要是项目代码管理工具,Runner 是GitLab的插件,用来 CI/CI 相关操作的

#下载镜像
docker pull docker.io/gitlab/gitlab-runner:latest


#官方给的docker运行命令
docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner:Z \
  gitlab/gitlab-runner:latest


-------------------------------------------------------------


#我的运行命令
docker run -dit \
        --name gitlab-runner \
        --network=myothernetwork \
        --ip 172.18.0.20 \
        --restart always \
        -v $(which docker):/usr/bin/docker \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
        -v ~/gitlabrunner/config:/etc/gitlab-runner \
        -v ~/gitlabrunner/build_cache:/cache \
        docker.io/gitlab/gitlab-runner:latest

#在启动的容器中,将gitlab-runner 用户加到 root 组中,对于docker的使用是很必要的,否则无法使用
sudo docker exec -it gitlab-runner usermod -aG root gitlab-runner

注意:

         个人建议,可以将缓存和宿主机(服务器)docker 的运行文件挂载到服务器内,可能会使用到。

-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \

         在gitlab-runner 容器启动后,gitlab-runner 编译使用的用户名也是 gitlab-runner,所以,我们需要把该用户添加到 root 组中,否则 docker 是无法使用的

sudo docker exec -it gitlab-runner usermod -aG root gitlab-runner

此时,GitLab 与 GitLab-Runner 不出意外情况下已经成功启动起来了

注:GitLab 与 GitLab-Runner 会分别运行在2个容器中

 

致:踩过的那些坑

可以看我的码云:去码云看看

本章到此结束

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值