iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
0
自我挑戰組

Re : 從懶開始的自動化生活系列 第 8

[D8] : 利用GitLab CI達成減少Build與Test的成本

這篇目的只是想粗略介紹一下建立一個很簡單的CI,可以算是再講上圖中的Build和Test階段,然後用最少的時間和資源去快速體會一下。(因為最近有點忙 T_T)
我們會需要一個有.gitlab-ci.yml檔的專案和一個GitLab帳戶。
之後會開始講我把專案從Jenkins搬到Gitlab,從不懂CI/CD到學會CI/CD,和一堆相關的心路歷程。

本地安裝

brew install gitlab-runner

建立Runner

gitlab-runner register

會要填一些資料,多半在GitLab專案上的設定頁面就找得到你要的資訊
這邊我指出我要用docker容器作為我的Runner,
根據我經驗,假若今天選了shell,那麼script最好是直接寫shell可以跑的。
同理選了Docker代表這Runner會是基於Docker運作的相關指令都先試試看Docker可以少碰一些壁。

有些必要資料這邊找得到

準備yml檔

我的Pipeline會有兩個階段個別是build, test
跑build這階段前,會先執行dotnet restore,接著執行dotnet build。而且只有具備dotnet-core-3.1這個tag的runner可以跑這段指令。

同理跑Test不解釋。

Run Locally

前面有提到我用的是Docker的Runner因此我如果想在本機端測試一下runner是否正常運行,可以在專案底下gitlab-runner exec docker build
exec是gitlab-runner後來支援可以在本機端測試的指令,後面接上要下的指令,以我來說我用的是docker,我的Job目前則有Build和Test,所以我就接上docker build
這可以讓我能在本地端測試Build。

另一方面gitlab上在我們稍早註冊完成後,也會出現新的Runner,但預設是不會On起來的,這我們要手動去On起來,不然到時專案會認為沒有可以用的Runner。ON起來後。

最後重要的一行!!

讓你的Runner服務啟動,往後有推版上去,yml檔若有指名到那個藍色Tag就會跑你電腦的Runner(電腦要開著)。

Install GitLab Runner on Windows | GitLab
Normal

cd ~
gitlab-runner install
gitlab-runner start

Brew :

brew services start gitlab-runner

這樣就可以讓Gitlab上Pipeline借Local Runner之力做CI啦

此外gitlab-runner verify可以協助檢查本機端上的Runner是否運作正常。


上一篇
[D7] : Git Template跟自動化有關係?
下一篇
[D9] : 關於我怎麼理解CI的運作
系列文
Re : 從懶開始的自動化生活30

尚未有邦友留言

立即登入留言