安装 gitlab-runner

1 篇文章 0 订阅

公司的 gitlab 之前一直都有相应的 runner 可供使用的,但是最近机器迁移之后,就没人重建 runner 了。所以,我就自己借了台虚机来安装 gitlab runner 来做 CI

前提

  • 操作环境:CentOS 7
  • gitlab 版本: GitLab Community Edition 8.12.4
  • 安装过程使用的用户: root

大概步骤如下:

添加 repository (Add the repository)

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

安装 gitlab-ci-multi-runner (Install gitlab-ci-multi-runner)

yum install gitlab-ci-multi-runner

注册 runner (Register the Runner)


1. 如果要在同一台机器上注册多个 runner,只需要反复执行该步骤。
2. 如果要同时处理多个 build 的话,需要进 /etc/gitlab-runner/config.toml 文件配置 concurrent 它的值为 >1 的值

gitlab-ci-multi-runner register

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
Please enter the gitlab-ci token for this runner
xxx
Please enter the gitlab-ci description for this runner
my-runner
INFO[0034] fcf5c619 Registering runner... succeeded
Please enter the executor: shell, docker, docker-ssh, ssh?
docker
Please enter the Docker image (eg. ruby:2.1):
ruby:2.1
INFO[0037] Runner registered successfully. Feel free to start it, but if it's
running already the config should be automatically reloaded!

以上步骤,可以参见官方说明

通过上面步骤安装的 gitlab runner 默认情况下是最新版本的,它可能与你的 gitlab 版本不兼容。比如,我在安装好之后,就被提示不兼容了:

GitLab Runner >= 9.0 can be used ONLY with GitLab CE/EE >= 9.0

那怎么办呢?还能怎么办啊,只好去找与 gitlab 版本相匹配的 gitlab runner 喽,除非你能说服公司的相关人员将 gitlab 升级到最新版本。(反正在我们公司这点是很难的。。。)

还好,我找到了官方安装低版本说明

在这个页面中,它列出来 gitlabgitlab runner 的兼容关系表,根据表中的内容,我决定安装 1.10.7 这个版本的。(PS:所有版本列表可以参见 gitlabrelease note )

yum install gitlab-ci-multi-runner-1.10.7-1

这样 1.10.7 版本的 runner 将被安装好,然后,你只需要再执行上面的 register 步骤就可以了。

另外,我的项目是基于 mavenjava 项目,我的 .gitlab-ci.yml 是这么写的:

build:
    script:
        mvn clean compile -DskipTests

所以,明显的,为了能够让 runner 运行成功,我们还得在 runner 所在的机器上安装 JDKMaven
这里,我建议大家还是手动安装 这两个比较好。如果通过 yum install maven 来安装的话,将会自动下载 OpenJDK,这可能不是我们想要的哦。各位自己考虑。

最后,需要说明的一点,当 runner 运行时,它使用的是 gitlab-runner 这个用户。这个用户哪里来的?它是你在 yum install gitlab 的时候自动安装好的。

所以,我们需要为这个 gitlab-runner 用户配置环境变量,让它能执行 mvn 变量。比如,我的设置是:

# su - gitlab-runner
# vim ~/.bashrc

添加以下内容
export JAVA_HOME=/usr/java/jdk1.7.0_80
export MAVEN_HOME=/opt/apache-maven-3.3.9
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存退出(:wq!)

# source ~/.bashrc

参考 blog

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值