Gitlab 8.x runner安裝與配置

介紹

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

安裝

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

  Gitlab Runner的版本須要跟Gitlab對應,這裏有一個對照表。最新的版本對照表中並無Gitlab8.X對應的Runner版本,查了一下Gitlab8.X對應的Runner版本爲1.X,因此這裏選擇runner 1.11.2版本。node

  這裏運行Gitlab與Runner的環境均爲CentOS,以前嘗試在windows上安裝runner,對接Linux上的Gitlab,發如今Gitlab runner運行的控制檯出現亂碼問題。linux

0.準備git

在opt下建立gitlab-runner目錄並進入該目錄,後續執行的操做與全部的資源都放在這個目錄中shell

cd /opt
mkdir gitlab-runner
cd gitlab-runner/
複製代碼

1.下載npm

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

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

2.添加運行權限windows

sudo chmod +x gitlab-ci-multi-runner-linux-386
複製代碼

3.建立用戶bash

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
複製代碼

4.安裝

sudo 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命令

./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保持一致。

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)

環境問題

因爲Runner運行須要環境支撐,好比git、node、npm等,須要在Runner所在的服務器上準備好全部的依賴。

  • Linux Node安裝
# 下載
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用戶無效,能夠轉而使用配置環境變量的方式

# 修改配置文件
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

原文連接:Gitlab 8.x runner安裝與配置

相關文章
相關標籤/搜索