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 指令 |
實作
- 建立
.github/workflows/build.yml - 每次 push 到 main 就自動建構
- 到 GitHub Actions 標籤看執行結果
作業
- 建立自動建構的 workflow
- push 後看到 Actions 跑起來
- 說出
uses與run的差別