背景
在gitlab
上配置新项目的CI的时候,需要编写项目的 .gitlab-ci.yml
文件。
每次修改 .gitlab-ci.yml
文件之后都要执行git push
让GitLab去构建来验证当前的CI脚本是否能正确构建,甚是麻烦,同时增加了很多无营养的Git提交。
若我们能够在修改完.gitlab-ci.yml
文件之后本地先试跑一下验证其正确性,改到满意再Push修改,岂不乐哉?
安装 gitlab-runner
下面我将以在一个Centos7
机器为例简述如何部署gitlab-runner
,其他平台请参考GitLab官方文档 :
- 添加
yum
源:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
- 安装
gitlab-ci-multi-runner
:
sudo yum install gitlab-ci-multi-runner
注册项目
- 在
GitLab
网页端进入你要验证的代码项目,左侧依次选择Settings
->CI/CD
->Runners
,点击expand
可以看到URL
和token
的信息 - 执行
gitlab-runner register
,会有交互式界面提示你依次输入URL
,token
,tags
,runner
等,主要是URL
和token
要填写正确,runner
填shell
即可,其他的默认直接敲回车 - 注册完成刷新网页你会看到你的
runner
已经成功注册上去了
本地验证
- 拉取对应项目的仓库代码,切换到所需分支
- 进入项目根目录(也就是有
.git
的目录) - 执行命令进行验证:
gitlab-runner exec docker build-xxx
gitlab-runner exec
相关参数如下:
[$]> gitlab-runner exec --help
NAME:
gitlab-runner exec - execute a build locally
USAGE:
gitlab-runner exec command [command options] [arguments...]
COMMANDS:
ssh use ssh executor
virtualbox use virtualbox executor
docker use docker executor
docker-ssh use docker-ssh executor
parallels use parallels executor
shell use shell executor
help, h Shows a list of commands or help for one command
OPTIONS:
--help, -h show help