上次我們簡單的寫了 CI/CD 的工作,這次我們對 Pipeline 與 Job,來多加了解他們的運作,以及我們這些工作是怎麼處發的。
首先我們先切到 Build 子清單,可以看到裡面有 Pipeline、Job、Pipeline editor、Pipeline schedules、Artifacts
Pipeline: 可以觀察我們的 CI/CD 有沒有運作。
Job: 跟 Pipeline 很像,可以觀察個別工作運作。
Pipeline editor: 可以從平台上直接編輯 CD/CD 腳本。
Artifacts: 會產生一個檔案,例如: 測試報告結果,之後會介紹。
接下來我們將上次 CI_CD_DEMO 專案,在多加一個新的工作,來看如何運行。
hello-gitlab-ci-cd:
script:
- echo 'hello gitlab ci cd demo'
# 新增單元測試工作
run-unit-test:
before_script:
- echo '安裝套件'
script:
- echo '執行單元測試'
after_script:
- echo '刪除不必要資源'
接下來再把專案 push 上去,並查看 Pipeline,可以發現 CI/CD 正在運行,而且運行成功
為什麼我 push 專案上去,CI/CD 馬上就運行呢 ? 那是因為 GitLab 會去看你的專案,是否有 .gitlab-ci.yml 這個檔案,如果有這個檔案,每當 push 上去就會去讀 .gitlab-ci.yml 檔案,去做我們想要的工作。
我們在加一個工作,故意運行錯誤的 CI/CD 腳本。
hello-gitlab-ci-cd:
script:
- echo 'hello gitlab ci cd demo'
run-unit-test:
before_script:
- echo '安裝套件'
script:
- echo '執行單元測試'
after_script:
- echo '刪除不必要資源'
# 新增測試打包工作(故意腳本亂打)
test-build:
script:
- sadkfjaksdjf
可以看到 Gitlab CI/CD 還是會運行,然後 ‘test-build’ 這個故意亂打的工作,GitLab CI/CD 會告訴我們有錯誤,所以 CI/CD 工作你寫對了,就會正常運行,你寫錯了,就不能運行。