~/VibeHandbook
免費 PDF

平台

github.com

GitHub Actions

它是什麼

想像有一份清單,在你每次儲存工作時都自己跑一遍——"跑測試、構建、放上線"——而你一根手指都不用動。這就是「/CD(Continuous Integration / Continuous Delivery,持續整合 / 持續交付)」:替你檢查程式碼併發布上線的自動化。GitHub Actions 是 GitHub 內建的 CI/CD 系統。你在倉庫裡新增一個「YAML(一種便於人類閱讀的純文本設定檔案)」來描述工作流(workflow)——也就是在 push、 或定時計劃等事件發生時自動執行的一組步驟。每個工作流都在 GitHub 託管的機器(稱為"runner",即 GitHub 為這趟活兒租給你的一臺全新電腦)上執行,因此你無需管理任何自有伺服器就能測試、構建和部署程式碼。它是把"程式碼已推送"自動化到"應用已上線"最常見的方式。

優勢

  • 直接內置於 GitHub——無需另設獨立的 CI 服務。
  • 由倉庫事件觸發:在每個 PR(pull request,一項待定變更)上跑測試,在每次推送到 main 時部署。
  • 龐大的可複用 action 市場,覆蓋常見任務(環境配置、部署、檢查)。
  • 為 Linux、macOS 和 Windows 提供託管 runner;對公開倉庫有慷慨的免費分鐘數。
  • 提供金鑰管理和環境保護,讓部署更安全。

取捨

  • YAML 工作流很快就會變複雜;除錯失敗的流水線(即那一連串自動步驟)可能很繁瑣。
  • 私有倉庫的分鐘數是計量收費的,重度使用會花錢。
  • 由於它在遠端 runner 上執行,在本地重現失敗很彆扭。
  • 第三方 action 很方便,但它們是需要稽核的供應鏈依賴。

最適合

直接從倉庫自動化測試、構建和部署——在每個 pull request 上執行你的測試套件,並在 main 更新時部署到你的託管服務(比如 Cloudflare Pages)。

與 vibe coding 的契合度

GitHub Actions 與 vibe coding 是絕配,因為 AI 助手可以為你寫出整條流水線。讓它新增一個工作流,安裝依賴、執行測試,並在推送到 main 時部署——它知道常見的 action 名稱和 YAML 結構。真正的價值在於它是一張安全網:一旦每次變更都自動跑測試,AI 就無法悄悄合入會破壞構建的東西。提示:告訴 AI 助手你的託管服務和包管理器,好讓它挑選正確的部署 action 和快取設定,並把金鑰放在倉庫設定裡,絕不要放進 YAML。

# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
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