GitLab CI/CD介绍
首先使用一张图说明GitLab CI的工作流程:
GitLab CI是 GitLab 提供的持续集成服务,只要在你的仓库根目录 创建一个.gitlab-ci.yml
文件, 并为该项目指派一个Runner,当有合并请求或者 push的时候就会触发build。
这个.gitlab-ci.yml 文件定义GitLab runner要做哪些操作。 默认有3个[stages(阶段)]: build、test、deploy。
当build完成后(返回非零值),你会看到push的 commit或者合并请求前面出现一个绿色的对号。 这个功能很方便的让你检查出来合并请求是否会导致build失败, 免的你去检查代码。
大部分项目用GitLab’s CI服务跑build测试, 开发者会很快得到反馈,知道自己是否写出了BUG。
所以简单的说,要让CI工作可总结为以下几点:
- 在仓库根目录创建一个名为.gitlab-ci.yml 的文件
- 为该项目配置一个Runner
- 完成上面的步骤后,每次push代码到Git仓库, Runner就会自动开始pipeline。
CI&CD部署流程
一、环境说明
linux的suse系统
二、动手操作
(1)安装GitLab-Runner
安装包下载地址:https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
#将安装包上传到Linux
$ sudo mv gitlab-runner-linux-amd64 /usr/local/bin/gitlab-runner
#接着授予可执行权限
$ sudo chmod +x /usr/local/bin/gitlab-runner
#创建一个gitlab-ci用户
$ sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
#安装,并作为服务启动
$ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
至此,安装工作完成,接下来需要注册Runner,来将Runner和Gitlab绑定到一起。
其它系统安装参考:https://docs.gitlab.com/runner/install/linux-manually.html
(2)注册Runner
输入命令
gitlab-runner register
会要求输入gitlab的url和Token.
查找过程如下:
进入仓库->settings->CI/CD,找到Runner Settings这一项,点击Expend,即可在Setup a specific Runner manually这项中找到。如下:
只需要在注册过程中填入即可。
# 注册
gitlab-runner register
# 输入本地的 gitlab URL
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://mesgit.seagate.com/
# 输入 Token
Please enter the gitlab-ci token for this runner
_FTHYNTYU747RzxFCYG
# 输入 tag, 注意要跟 job 的 tag 一致
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag,another-tag
# 选择 executor,有docker选dokcer,没有选shell
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell
当这些做完之后启用命令启动Runner
gitlab-runner start
教程上说是使用gitlab-runner start
命令,但我试的时候并没有生效,但是用了gitlab run
就可以了,建议先使用gitlab-runner start试一下,不行再用gitlab-runner run
启动成功后就可以看到,gitlab对应的仓库下(操作:进入仓库->settings->CI/CD,找到Runner Settings这一项,点击Expend,即可在Setup a specific Runner manually)看到注册的runner已经在运行了。
ps:还有种情况,前面工作做完之后,gitlab这边会显示黑色的感叹号,显示New runner. Has not connected yet. 此问题在runner服务器执行gitlab-runner verify,再查看变成绿色了。
三、常用命令
gitlab-ruuner start #启动
gitlab-ruuner restart #重启
gitlab-ruuner stop #停止
gitlab-ruuner run #运行,运行之后gitlab上的runner会显示绿色,否则会显示New runner. Has not connected yet
gitlab-ruuner register #打开注册引导
1、GitLab官方配置文档
2、【gitlab-runner】gitlab-runner安装注册到https的gitlab