Week 12 · Day 04 — CI/CD:基本概念與 GitHub Actions

學習目標

  • 理解 CI/CD 的價值
  • 認識 GitHub Actions 結構
  • 建立第一個自動構建 workflow

重點

CI/CD 是什麼 - CI(持續整合):每次推送自動建構 + 測試 - CD(持續部署):通過後自動部署到線上 - 減少手動、提升一致性、及早發現錯誤

GitHub Actions - GitHub 內建的自動化工作流程 - 定義在 .github/workflows/*.yml - 由 Job → Steps → Actions 組成

一個建構 workflow

# .github/workflows/build.yml
name: Build

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - run: npm ci
      - run: npm run build

關鍵字 | 欄位 | 用途 | |------|------| | on | 觸發時機(push / PR) | | jobs | 平行的工作 | | runs-on | 執行的機器 | | steps | 依序執行的步驟 | | uses | 使用已封裝的 action | | run | 執行 shell 指令 |

實作

  1. 建立 .github/workflows/build.yml
  2. 每次 push 到 main 就自動建構
  3. 到 GitHub Actions 標籤看執行結果

作業

  • 建立自動建構的 workflow
  • push 後看到 Actions 跑起來
  • 說出 usesrun 的差別