[CI/CD] CircleCI 簡介


最近來研究個 CircleCI,CI/CD 真是軟肋一把,雖然用起來不是很難,不過說實在官網文件有些寫得不夠清楚,還是很容易踩到坑,需要論壇求援。

一開始我連帳號註冊都有毛病,本來想說用 gitHub 登入就好,懶得再註冊新的帳號,結果 gitHub 的帳號好像就只能和 gitHub 的專案做連結,但公司是使用 gitLab,於是只好另外以 Email 再註冊一個帳號 Orz

CircleCI 的設定寫起來不難,寫完會有種好像自己會了什麼但又沒那麼熟的感覺,和 Docker Composer 設定檔差不多。

YAML 大概的結構如下,預設放置在專案目錄的 .circleci/ 下:

version: 2.1

# 參數
parameters:
  is-dev:
    type: boolean
    default: false

# CircleCI 提供的套件
orbs:
  aws-cli: circleci/aws-cli@3.1.4
  kubernetes: circleci/kubernetes@1.3.1

# 執行工作
jobs:
  build-image:
    machine:
      image: ubuntu-2204:2022.10.2
    steps:
      # 執行指令
      - run:
          name: Run Scripts
          command: |
            echo "Hello"

# 工作流 & 執行條件
workflows:
  update-dev:
    when: << pipeline.parameters.is-dev >>
    jobs:
      - build-image:
          context: circle-ci-context

CircleCI 可以設定環境變數,位置在 Organization Settings > Contexts,設定參數並指定 Project 權限後便可以在設定檔中直接使用。

CircleCI 也提供 Built-in 的環境變數(Project values and variables – CircleCI),供設定檔使用,例如 CIRCLE_BRANCHCIRCLE_TAG 即可獲取分支或標籤的名稱,可以做更多客製化的設定。

更多的設定可以查看官網說明:


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *