[GitLab] #3 專案新增 GitLab-ci.yml並且實現CI

2023/09/15閱讀時間約 3 分鐘

本篇使用最簡單的GitLab-ci.yml內容,進而實現了CI的功能,操作方式如下。

raw-image


  1. 在專案內新增 測試用的 gitlab-ci.yml
raw-image

2. gitlab-ci.yml的測試內容為下

stages:
- Verify
- Package
- Release

Verify:CodeQuality:
stage: Verify
script:
- echo 'Verify Do Code Quality Job'

Verify:PerformanceTesting:
stage: Verify
script:
- echo 'Verify Do Performance Testing Job'

Verify:UnitTests:
stage: Verify
script:
- echo 'Verify Do Unit Tests Job'

Verify:ContainerRegistry:
stage: Package
script:
- echo 'Verify Do Build Docker Image Job'

Verify:NPMRegistry:
stage: Package
script:
- echo 'Verify Do Build NPM Package Job'

Verify:AutoDeploy:
stage: Release
script:
- echo 'Verify Do Auto Deploy Job'


3. 在push之後可以先到Gitlab 內檢查自已寫好的CI 是否正常,可以點擊下圖右上角的 CI lint

raw-image

5. 按下validate,就會在畫面下方看到測試結果

raw-image

6. 回到剛才 Pipelines其實有pending 的事件,按下pending看看發生了什麼事

raw-image

7. 進到pending 畫面,再按下暫停的黃色按鈕,就會進到另一個畫面

raw-image

8. 我們可以看到pending是因為找不到runner而無法執行

raw-image

9. 進到 Gitlab > Settings > CI/CD > Runners settings 按下EXPAND,往下滑,就會看到自已上一篇建立好的runner

raw-image

10. 點輸RUNNER 鎖頭旁的修改按鈕,進入RUNNER設定頁面,將Run untagged jobs Indicates whether this runner can pick jobs without tags 打勾後SAVE

這裡的用意在於,讓閒置的RUNNER可以自動去接工作,不用透過YAML檔指定

raw-image

11. 按下save之後,回到CICD>Pipline的畫面就會看到 pending已經變成running中

raw-image

12. 但過了一下子結果還是變成fail,是因為runner找不到可以clone的位置,必須要再設定一個可以取得正確位置的runner

raw-image
raw-image
raw-image

13. 可以參考上一篇重新產生一個runner,並且重新執行之後就會成功了

raw-image


小結:

本篇文章實作了一段測試的CI,並且呈現了CI所會產生的問題,希望能夠幫助到一樣也是遇到問題的工程師。





Daniel
Daniel
希望用講東講西的輕鬆TALK分享技術、日常或聊天,當然也會有程式軟體專業技術
留言0
查看全部
發表第一個留言支持創作者!
從 Google News 追蹤更多 vocus 的最新精選內容