~/VibeHandbook
$39

プラットフォーム

github.com

GitHub Actions

概要

GitHub Actions は、GitHub に組み込まれた CI/CD システムです。リポジトリに YAML ファイルを追加して、ワークフロー — プッシュ、プルリクエスト、スケジュールなどのイベントで自動的に実行される一連のステップ — を記述します。各ワークフローは GitHub がホスティングするマシン (「ランナー」) 上で実行されるため、自前のサーバーを一切管理せずにコードのテスト、ビルド、デプロイができます。「コードをプッシュした」から「アプリが稼働する」までの道のりを自動化する、最も一般的な方法です。

強み

  • GitHub に直接組み込まれている — 別の CI サービスをセットアップする必要がありません。
  • リポジトリのイベントでトリガー: すべての PR でテストを実行し、main へのプッシュごとにデプロイ。
  • 共通タスク (セットアップ、デプロイ、lint) 向けの再利用可能なアクションの大規模なマーケットプレイス。
  • Linux、macOS、Windows 向けのホスティング型ランナー。パブリックリポジトリには寛大な無料分があります。
  • 安全なデプロイのためのシークレット管理と環境保護機能。

トレードオフ

  • YAML ワークフローはすぐに複雑になり、失敗したパイプラインのデバッグは骨が折れます。
  • プライベートリポジトリの実行時間 (分) は従量課金で、多用すると費用がかかります。
  • リモートのランナー上で実行されるため、失敗をローカルで再現するのは面倒です。
  • サードパーティのアクションは便利ですが、精査すべきサプライチェーンの依存関係です。

最適な用途

リポジトリから直接、テスト、ビルド、デプロイを自動化すること — すべてのプルリクエストでテストスイートを実行し、main が更新されるたびにホスト (Cloudflare Pages など) に出荷すること。

バイブコーディングとの相性

GitHub Actions は、エージェントがパイプライン全体を書いてくれるため、バイブコーディングと完璧に組み合わさります。依存関係をインストールし、テストを実行し、main へのプッシュでデプロイするワークフローを追加するよう依頼しましょう。エージェントは一般的なアクション名や YAML の形を知っています。本当の価値はセーフティネットです。すべての変更でテストが自動的に実行されるようになれば、AI がビルドを壊すものをこっそりマージすることはできません。ヒント: ホストとパッケージマネージャをエージェントに伝えれば、適切なデプロイアクションやキャッシュ設定を選んでくれます。シークレットは 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