安裝 gitlab-runner

公司的 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章