[轉] Gitlab 8.x runner安裝與配置


【From】http://muchstudy.com/2018/07/13/Gitlab-8-x-runner%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/

 

介紹

  Gitlab 8.x之后默認集成了Gitlab CI,意味着支持了持續集成相關功能。每一次集成操作都需要對應的runner來跑代碼構建、測試、發布等操作。Runner實際上就是為Gitlab的持續集成指定一個環境。

安裝

官方文檔地址:https://docs.gitlab.com/runner/install/

  Gitlab Runner的版本需要跟Gitlab對應,這里有一個對照表。最新的版本對照表中並沒有Gitlab8.X對應的Runner版本,查了一下Gitlab8.X對應的Runner版本為1.X,所以這里選擇runner 1.11.2版本。

  這里運行Gitlab與Runner的環境均為CentOS,之前嘗試在windows上安裝runner,對接Linux上的Gitlab,發現在Gitlab runner運行的控制台出現亂碼問題。

0.准備

在opt下創建gitlab-runner目錄並進入該目錄,后續執行的操作與所有的資源都放在這個目錄中

1
2
3
cd /opt
mkdir gitlab-runner
cd gitlab-runner/

1.下載

下載安裝資源到gitlab-runner目錄中

1
sudo wget https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v1.11.2/binaries/gitlab-ci-multi-runner-linux-386

2.添加運行權限

1
sudo chmod +x gitlab-ci-multi-runner-linux-386

3.創建用戶

1
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

4.安裝

1
2
./gitlab-ci-multi-runner-linux-386 install --user=gitlab-runner --working-directory=/opt/gitlab-runner
sudo gitlab-ci-multi-runner-linux-386 start

配置

  經過上面的步驟,Runner就已經跑起來了,剩下的還需要Runner與項目對接起來。Runner的類型分為Shared, specific and group Runners。這里選擇specific類型,即單獨的項目使用。

  在Gitlab項目的setting-runner中,配置過程中會使用到urltoken如下所示:

 

 

 

1.運行register命令

1
./gitlab-ci-multi-runner-linux-386 register

之后就按照提示就行了

2.輸入url地址
3.輸入token
4.輸入描述,任意即可
5.輸入標簽,這里直接Enter跳過
6.選擇Runner executor,這里選擇shell

到這里就已經注冊成功了,輸入./gitlab-ci-multi-runner-linux-386 list就能看到上面的注冊的條目。

官方文檔地址:https://docs.gitlab.com/runner/register/index.html

其它

  上面兩個步驟做完后,此時按理說Gitlab就能調用Runner跑持續集成了,實際當中還會碰到其它問題,整理如下。

權限問題

  如果在Gitlab的Build控制台上報無法創建文件夾無法運行bash等,證明創建的GitLab Runner權限不夠。
此時,我這里是修改GitLab Runner的權限跟root保持一致。

1
vim /etc/passwd

通過上面命令可以編輯用戶對應的權限,我這里打開默認為gitlab-runner:x:601:601:GitLab Runner:/home/gitlab-runner:/bin/bash,權限組修改為跟root的一致gitlab-runner:x:0:0:GitLab Runner:/home/gitlab-runner:/bin/bash。(root的權限組名為0)

這里在另外一台機器上還碰到這樣修改了也不好使的問題,最終gitlab-runner install的時候,直接指定為root,而不新創建用戶。

環境問題

由於Runner運行需要環境支撐,比如git、node、npm等,需要在Runner所在的服務器上准備好所有的依賴。

  • Linux Node安裝
1
2
3
4
5
6
7
# 下載
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
# 解壓
tar -xf node-v8.11.3-linux-x64.tar.xz
# 建立軟鏈接,實現全局訪問
ln -s /opt/gitlab-runner/node-v8.11.3-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/gitlab-runner/node-v8.11.3-linux-x64/bin/npm /usr/local/bin/npm

此時,輸入node -v就能看到node的版本了。

使用軟連接方式可能對非root用戶無效,可以轉而使用配置環境變量的方式

1
2
3
4
5
6
7
# 修改配置文件
vim /etc/profile
#set for nodejs,新增NODE_HOME並放到PATH上
export JAVA_HOME=/opt/soft/java
export NODE_HOME=/opt/gitlab-runner/node-v8.11.3-linux-x64
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/bin

在vim環境下點擊i進入插入狀態,編輯完成后按Esc鍵,然后輸入 :wq 按回車保存退出。

備注:內外環境還需修改NPM的鏡像源,比如修改為npm config set registry https://registry-npm.daojia-inc.com/

附錄 部分GitLab-Runner常用命令

1.gitlab-runner幫助:gitlab-runner –help

2.gitlab-runner指定命令幫助:gitlab-runner –help

3.注冊runner:gitlab-runner register

4.注銷runner:gitlab-runner unregister

5.當前運行的runner:gitlab-runner list

6.啟動runner:gitlab-runner start

7.停止runner:gitlab-runner stop

8.重啟runner:gitlab-runner restart

9.查詢runner狀態:gitlab-runner status

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM