1. 引言
1.1 本文全程参考Gitlab Docs
1.2 配置如下:
虚拟机:ubuntu18.04;
Gitlab Server:公司内网服务器;
Gitlab Runner:Shell
2. 流程
2.1 Install GitLab Runner(Linux)
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sudo chmod +x /usr/local/bin/gitlab-runner
sudo useradd --comment ‘GitLab Runner’ --create-home gitlab-runner --shell /bin/bash
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
ps aux|grep gitlab-runner
2.2 Registering runners(Linux,一个工程对应一个Runner)
2.2.1 运行注册Runner命令
sudo gitlab-runner register
2.2.2 根据提示输入URL、注册令牌等信息
注:
(1)提示输入runner的tags时,输入的tags和后面的.gitlab-ci.yml有一定关系(这里也可以不设置,后面可在网页上手动修改)
(2)executor:Shell ,表示Runner编译代码时,使用本机环境构建和编译代码。
2.2.3 Runner注册成功标志
如果,runner不成功,标志为一个中间带着叹号的三角形,此时重启Runner就行了!
sudo gitlab-runner restart
2.3 创建.gitlab-ci.yml
2.3.1 在工程根目录创建.gitlab-ci.yml
variables:
GIT_SUBMODULE_STRATEGY: recursive
build-job:
stage: build
script:
- echo "Building the executable file!"
- mkdir build
- cd build
- which cmake
- echo "MY:/usr/local/cmake/bin/cmake"
- cmake --version
- cmake ..
- make -j4
only:
- test-js
tags:
- ljx
test-job1:
stage: test
script:
- echo "This job tests something!"
only:
- test-js
tags:
- ljx
deploy-prod:
stage: deploy
script:
- echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
tags:
- ljx
注
(1)tags: 表示Runner的tag!
(2)only:表示仅在xxx分支进行作业!
2.3.2 上传代码
在工程中有.gitlab-ci.yml文件后,每次上传代码后,都会触发Gitlab的Runner进行作业。