GitHub Actions Workflow

Vibe Prompt

「幫我建立 GitHub Actions Workflow:Node.js 20,推送到 main 時自動 npm ci、lint、test、build。」

name: CI Pipeline

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

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v4
    
    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version: '20'
        cache: 'npm'
    
    - name: Install dependencies
      run: npm ci
    
    - name: Lint
      run: npm run lint
    
    - name: Test
      run: npm test
    
    - name: Build
      run: npm run build
    
    - name: Upload artifact
      uses: actions/upload-artifact@v4
      with:
        name: build-output
        path: .next/

Vibe Prompt

「幫我解釋 GitHub Actions 的 runner、job、step、action 的關係,用生活比喻說明。」

本日總結

  • ✅ GitHub Actions 基本結構
  • ✅ CI Pipeline 範例
  • ✅ Cache 加速依賴安裝

關鍵要點

  • ✅ CI (持續整合) = 頻繁合併程式碼 + 自動建置 + 自動測試
  • ✅ CD (持續部署) = 通過測試的自動部署到生產環境
  • ✅ CI/CD Pipeline 的核心:Build → Test → Deploy
  • ✅ GitHub Actions + Docker = 最受歡迎的 CI/CD 組合
  • ✅ 好 CI/CD 的標準:快、可靠、可重現

關鍵指標

| 指標 | 目標 | 意義 | |------|:----:|------| | Pipeline 時間 | < 10 分鐘 | 開發者等待時間越短越好 | | 部署頻率 | 每天多次 | 越小批次的部署風險越低 | | 失敗恢復時間 | < 1 小時 | 出錯後能快速回退 | | 變更失敗率 | < 15% | 部署到生產後的故障率 |



GitHub Actions:CI/CD 的首選平台

GitHub Actions 是內建在 GitHub 中的 CI/CD 平台。你不需要另外設定 Jenkins Server——只要在 repo 中建立 .github/workflows/*.yml 檔案。

第一個 Workflow

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

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

Why GitHub Actions 比其他 CI 工具好?

| 比較 | GitHub Actions | Jenkins | GitLab CI | |:----|:-------------|:-------|:---------| | 設定難度 | 低(YAML) | 高(需安裝管理) | 中 | | 託管執行器 | ✅ 免費 2000 分鐘/月 | ❌ 自建 | ✅ 有限 | | Marketplace | 豐富的 Action 生態系 | 插件生態系 | 有限 | | 與 GitHub 整合 | 原生 | 需 Webhook | 需 mirror |

下一章預告:Docker 建置與推送

測試通過後,下一步是建置 Docker Image 並推送到 Container Registry——下一章教你這個 CI/CD Pipeline 的核心環節。

會員專屬免費教學

本章節為註冊會員專屬的免費開放內容!請先登入或註冊會員,即可立即解鎖閱讀。

立即登入 / 註冊