iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0

接著終於要進入我們的正題 CI 了.

在 GitLab 中,我們可以透過一個叫做 .gitlab-ci.yml (注意,最前面有一個點)的檔案來控制我們 CI 的流程,並且定義我們 CI 中需執行哪些動作.

那就廢話不多說,我們先來看看最基本的 .gitlab-ci.yml 該如何寫吧.

.gitlab-ci.yml

stages:
  - "build"
  - "test"
  - "deploy"

build_job:
  stage: build
  script:
    - echo Build OK

test_job:
  stage: test
  script:
    - echo Test OK

deploy_job:
  stage: deploy
  script:
    - echo Deploy OK
  dependencies:
    - "test_job"
  only:
    - master

在這個檔案中,我們可以將整個檔案分為兩部分。

第一部分是 stages 的區塊,裡面使用了列表定義每個階段的名稱及階段之間的順序,構成我們 CI 的 Pipeline ,而 GitLab 在我們 Push 程式碼上去之後,就會觸發並按照 Pipeline 執行各階段的工作。

第二部分則是下方的各個 Job ,每個 Job 都會運行在 Pipeline 中的某個 Stage ,並執行某些指令。

而我們這個 .gitlab-ci.yml 只簡單的做了三件事情,就是輸出一下文字而已(因為我偷懶,懶得弄個小 Demo 來玩 CI/CD )。

首先我們第一階段是 build ,通常這階段我們可以準備一下環境,安裝一下等等需要的套件,需要編譯的也可以在這邊編譯。

第二階段是 test ,這部分我們可以進行單元測試及其他的測試,並且可以設定如果測試不通過便產生 Failed ,這時 Pipeline 便會被中斷,我們就可以進行修復我們程式中發生錯誤的地方。

第三階段則是 deploy ,也就是 CD 的部分,我們需要在這部分連接至我們的伺服器,並透過指令進行部署(大概就是你部署伺服器時所下的那些指令,不過我想跟前面文章介紹的 Kubernetes 連結起來,因此這部分不多作介紹)。

那麼就先到這邊, .gitlab-ci.yml 最基本大概就是這樣,話說我本來介紹 CI/CD 是想講如何跟 Kubernetes 集群作連接,可是好像來不及在 30 天內講完了。

大家掰~掰~


上一篇
Day 26 環境介紹
下一篇
Day 28 gitlab-ci.yml 進階
系列文
30天漫遊雲端之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言