一、简介
Gitlab的持续集成功能依赖于Gitlab Runner组件完成.
Gitlab runner作为Gitlab这个中控机的执行者,按照代码仓库里面.gitlab-ci.yaml文件中预定义的任务job按照指定的顺序或并发的执行完成系列的编译、测试、部署等操作,也就是说只要按照.gitlab-ci.yaml的配置格式,将写好的.gitlab-ci.yml文件放在代码仓库内,待下一次代码提交commit的时候就会自动的触发仓库绑定的Gitlab Runner去按照.gitlab-ci.yml里面配置的指定的执行。
总结一下,在Gitlab中进行CICD,需要简单的做几步:
- 安装Gitlab Runner
- 把代码仓库与Gitlab Runner进行绑定
- 在代码仓库里面配置.gitlab-ci.yml
在.gitlab-ci.yml文件里面定义好编译、单元测试、部署等任务(jobs)
二、部署GitLab Runner
1、下载软件
# Linux x86-64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# Linux x86
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
# Linux arm
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm
2、添加软件可执行权限
chmod +x /usr/local/bin/gitlab-runner
3、安装gitlab-runner
gitlab-runner install --user=root --working-directory=/opt/git-runner
4、启动gitlab-runner
gitlab-runner start
5、注册gitlab-runner
gitlab-runner register
url地址和token可在以下页面查询,注册成功后即可看到runner6、gitlab-runner常用命令
1)服务管理
```bash gitlab-runner install —user=root —working-directory=/opt/gitlab-runner
—user指定将用于执行构建的用户
—working-directory 指定将使用Shell executor 运行构建时所有数据将存储在其中的根目录
gitlab-runner uninstall #该命令停止运行并从服务中卸载GitLab Runner。
gitlab-runner start #该命令启动GitLab Runner服务。
gitlab-runner run #普通用户模式 配置文件位置 ~/.gitlab-runner/config.toml
sudo gitlab-runner run # 超级用户模式 配置文件位置/etc/gitlab-runner/config.toml
gitlab-runner stop #该命令停止GitLab Runner服务。
gitlab-runner restart #该命令将停止,然后启动GitLab Runner服务。
gitlab-runner status #此命令显示GitLab Runner服务的状态。当服务正在运行时,退出代码为零;而当服务未运行时,退出代码为非零
<a name="lulTL"></a>
### 2)注册命令
```bash
gitlab-runner register #默认交互模式下使用,非交互模式添加 --non-interactive
gitlab-runner list #此命令列出了保存在配置文件中的所有运行程序
gitlab-runner verify #此命令检查注册的runner是否可以连接,但不验证GitLab服务是否正在使用runner。--delete 删除
gitlab-runner unregister #该命令使用GitLab取消已注册的runner。
#使用令牌注销
gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n
#使用名称注销(同名删除第一个)
gitlab-runner unregister --name test-runner
#注销所有
gitlab-runner unregister --all-runners
三、配置.gitlab-ci.yml
stages:
- build
- test
- deploy
build_job:
stage: build
only:
- master
script:
- echo "构建代码or基础环境中..."
- echo "构建代码or基础环境已完成!"
tags:
- ops
test_job:
stage: test
only:
- master
script:
- echo "自动化测试中..."
- echo "自动化测试已完成!"
tags:
- ops
deploy_job:
stage: deploy
only:
- master
script:
- echo "自动部署中..."
- echo "自动部署已完成!"
tags:
- ops
四、提交代码,查看作业输出
提交代码后到仓库,CI/CD中即可看到任务
点入到具体Job可以查看输出