本系列文章:

 

第一章:九析帶你玩轉 rancher - 安裝篇

第二章:九析帶你玩轉 rancher - 導入集群篇

第三章:九析帶你玩轉 rancher - 集成 gitlab

目錄

1 前言

2 操作

    2.1 選擇集群

    2.2 選擇項目

    2.3 選擇流水線

    2.4 選擇 Gitlab

    2.5 配置 Gitlab 應用

        2.5.1 登錄 Gitlab

        2.5.2 設置 Gitlab

        2.5.3 填寫表單內容

    2.6 rancher 關聯 gitlab

    2.7 gitlab 授權 rancher 訪問

    2.8 關聯成功

    2.9 關聯失敗


1 前言

        rancher 提供持續集成能力,持續集成的第一步是關聯代碼庫,這里將介紹 rancher 集成 gitlab。

        繼續下面操作之前,首先要正確安裝 rancher,並成功導入 k8s 集群。如果你還沒有完成此操作, 請參考本人的其他兩篇文章。此外,rancher 國際化為簡體中文。設置如下:spacer.gif1.png

 


2 操作

2.1 選擇集群

clipboard2.pngspacer.gif2.2 選擇項目

        在 rancher 中有“項目”的概念,你可將其跟 k8s 命名空間做類比。默認情況下,k8s 有 2 個固定的命名空間,分別為 default 和 kube-system。rancher 會將 default 跟 k8s default 命名空間做關聯,將 system 跟 k8s kube-system 命名空間做關聯。本小節在 rancher default 項目下關聯 gitlab。

clipboard3.png

2.3 選擇流水線spacer.gifclipboard4.png

2.4 選擇 Gitlab

clipboard5.png

2.5 配置 Gitlab 應用

2.5.1 登錄 Gitlab

        如果你使用的不是私有 Gitlab 服務器,而是直接使用 Gitlab 官網,那么直接點擊下圖中“點擊此處”鏈接,進行登錄:

clipboard6.png

        如果你使用的是私有 Gitlab 服務器,那么你需要打開私有 Gitlab 服務器網址,並進行登錄。如果你還沒有私有 Gitlab,可以參考本人的《helm 輕松完爆 gitlab》進行搭建,整個操作過程容易到爆。

2.5.2 設置 Gitlab

        選擇 “settings”:spacer.gifclipboard7.png

        再選擇 “Applications”:

clipboard8.png

2.5.3 填寫表單內容

        表單內容參照 rancher 提示書寫:

clipboard9.png

        本人書寫內容如下:

clipboard10.png

        點擊 “save” 按鈕后,會生成 “application id” 和 "secret",如下圖所示:

clipboard11.pngspacer.gif

2.6 rancher 關聯 gitlab

        將上面生成的 appId 和 secret 寫入 rancher 配置,如下圖所示:

clipboard12.png

2.7 gitlab 授權 rancher 訪問

        在上面點擊“授權”按鈕后,會顯示 gitlab 的授權確認頁面:

clipboard13.png

2.8 關聯成功

        如果點擊上圖中“Authorize”按鈕成功后,就會顯示如下頁面,自此 rancher 跟 gitlab 關聯成功:spacer.gifclipboard14.png

2.9 關聯失敗

        如果關聯失敗,則可能會顯示下圖:

clipboard15.png

        上圖中出現的原因是:因為我本人使用的 jiuxi.gitlab.org 是自綁定的域名記錄,即自己寫入 hosts 文件的。而 rancher 容器在運行時,容器內部的 hosts 文件並沒寫入,所以需要將此域名解析記錄寫入到 rancher 容器的 hosts 文件。

        執行如下語句進入 rancher 容器:

docker exec -it rancher /bin/bash

clipboard16.png

        追加域名解析記錄到 /etc/hosts 文件:

echo "10.110.101.100 jiuxi.gitlab.org" >> /etc/hosts

        再次授權即可成功。