gitLab_Runner
gitLab 之 Runner
Gitlab CI Runner安装以及如何跑项目构建流程。
1. 安装、注册并启动Gitlab Runner
Gitlab Runner安装方式有两种,一种是直接二进制文件安装,一种是基于docker镜像安装。
1. 下载对应操作系统的二进制包,我这里使用的是mac版本
1 | sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-darwin-amd64 |
1 | # For RHEL/CentOS/Fedora |
sudo chmod +x /usr/local/bin/gitlab-runner1
##### 3 注册runner
gitlab-runner register
Please enter the gitlab-ci coordinator URL:
示例:http://gitlab.alibaba-inc.com/ci
Please enter the gitlab-ci token for this runner:
xxxxxx
Please enter the gitlab-ci description for this runner:
示例:qd_api_runner
Please enter the gitlab-ci tags for this runner (comma separated):
示例:hwy
Whether to run untagged builds [true/false]:
true
Please enter the executor: docker, parallels, shell, kubernetes, docker-ssh, ssh, virtualbox, docker+machine, docker-ssh+machine:
docker
Please enter the default Docker image (e.g. ruby:2.1):
maven:3-jdk-8
1 | 说明: |
cd ~
gitlab-runner install
gitlab-runner start`
注册gitlab-runner时,提示报错:
GitLab Runner >= 9.0 can be used ONLY with GitLab CE/EE >= 9.0
这个因为默认gitlab runner安装时最新版的,与我们正在使用的gitlab版本不匹配,那么我们找到匹配的gitlab-runner版本安装即可,从这里我们可以找到 Runner和GitLab CE / EE兼容性列表
有时runner会连接不上,或者在项目仓库->设置->runner里呈灰色,这有可能是runner机器上没有启动gitlab-runner引起的,可以执行ps -ef | grep gitlab看看是否存在gitlab-runner的进程,如果没有则执行gitlab-runner start 命令启动runner服务。
若已经配置好了gitlab-runner了,执行commit,pipeline状态一直是pending,并且提示:
This build is stuck, because the project doesn’t have any runners online assigned to it. Go to Runners page
这个是因为未找到对应的runner导致的,原因一是有可能gitlab-runner注册失败,原因二有可能是.gitlab-ci.yml配置文件里面tags没有匹配到已注册可用的runner。
每次maven:3-jdk-8去执行build和test都会重新拉取镜像,下载依赖的jar包,比较耗时耗资源。这是因为docker image每次构建都是在独立的container里, maven的 .m2文件并不会被多次构建公用,这里我们可以通过修改gitlab-runner的配置,将maven .m2目录加到volumes中,并增加镜像拉取规则(默认是从远程拉取镜像,这里修改为优先获取本地镜像,不存在时才去远程拉取镜像)
原文作者: 西瓜哥
原文链接: http://yoursite.com/2019/01/18/gitLab-Runner/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)