Docker+GitLab+Jenkins 搭建 CI/CD 系统

软件安装环境如下。

  • 操作系统:CentOS 7
  • Docker:19.03
  • Jenkins:tls 长期维护版
  • GitLab:13.3.8-ce.0
第一步:安装 Docker

安装 Docker 的步骤可以参考这篇文章:Centos7 安装 Docker,这里就不再赘述。Docker 环境准备好后,我们就可以利用 Docker 来部署 GitLab 和 Jenkins 了。

第二步:安装 GitLab

GitLab官方提供了GitLab的Docker镜像,因此我们只需要执行以下命令就可以快速启动一个GitLab服务

docker run -d \
--name gitlab \
--restart on-failure:3 \
-p 8080:80 -p 8081:443 -p 8082:22 \
-v /tmp/gitlab/config:/etc/gitlab \
-v /tmp/gitlab/logs:/var/log/gitlab \
-v /tmp/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:13.3.8-ce.0

Tips:

  1. 这个启动过程可能需要几分钟的时间。当服务启动后我们就可以通过 http://localhost:8080 访问到我们 的GitLab服务了(如果页面显示502,可参考:Docker gitlab 502解决办法
  2. 由于上面我们把22端口映射到服务器的8082端口,22端口主要用于git ssh拉取/推送代码,使用如下命令关联远程代码:
    git add remote origin ssh://git@ip:8082/xxx.git
    
第三步:安装 Jenkins

Jenkins 官方提供了Jenkins的Docker镜像,因此我们只需要执行以下命令就可以快速启动一个Jenkins服务

docker run -d \
--name=jenkins \
--restart on-failure:3 \
-p 8083:8080 \
-u root \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /tmp/jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts

将 docker.sock 和 docker 二进制挂载到了 Jenkins 容器中,是为了让 Jenkins 可以直接调用 docker 命令来构建应用镜像。

Jenkins 的默认密码会在容器启动后打印在容器的日志中,我们可以通过docker日志找到 Jenkins 的默认密码,日志也会提示你密码存储的文件位置,首次登陆时还会提示你初始密码文件位置 ^ - ^

docker logs -f jenkins

jenkins初始密码
服务启动后我们就可以通过 http://localhost:8083 访问到我们的Jenkins服务了

  • 初始化设置:输入初始密码->安装推荐插件->设置管理员账户信息 后进入主界面
  • 安装插件:Manage Jenkins -> Manage Plugins -> 可选插件,安装Gitlab,Gitlab hook,Gitlab API以及 Docker
  • 安装完成后重启Jenkins

至此,基于Docker+Gitlab+Jenkins 的CI/CD环境已经搭建完毕。
使用请参考:DI/CD实现持续集成与交付

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值