GitHub Actions(CI/CD)の基本

1. GitHub Actionsとは

GitHub Actionsは、GitHubが提供する自動化ワークフロー機能です。リポジトリ内のコードに対して、ビルド、テスト、デプロイなどのプロセスを自動化することができます。これにより、継続的インテグレーション(CI)や継続的デリバリー/デプロイメント(CD)をGitHub上で簡単に実現できます。

2. 主な機能と概念

  • Workflow(ワークフロー)
    一連の自動化処理を定義したもの。YAML形式で .github/workflows/ ディレクトリ内に記述します。

  • Event(イベント)
    ワークフローを起動するきっかけ。たとえば、pushpull_requestschedule(定期実行)などがあります。

  • Job(ジョブ)
    ワークフロー内で並列または直列に実行される処理の単位です。1つのワークフローには複数のジョブを含めることができます。

  • Step(ステップ)
    ジョブの中の1つひとつの処理。run(シェルコマンド実行)や、uses(既存アクションの利用)があります。

  • Action(アクション)
    他者が定義した再利用可能な処理。GitHub Marketplaceからインポート可能です。


3. 基本構成(YAMLファイルの例)

yaml
name: CI Test on: [push] jobs: build: runs-on: ubuntu-latest steps: - name: リポジトリをチェックアウト uses: actions/checkout@v3 - name: Node.js をセットアップ uses: actions/setup-node@v3 with: node-version: '18' - name: 依存関係のインストール run: npm install - name: テストの実行 run: npm test

4. 利用の流れ

  1. .github/workflows/ フォルダを作成

  2. YAMLファイルを作成してワークフロー定義を記述

  3. リポジトリにプッシュすると、自動でワークフローが実行

  4. 実行結果は GitHub の「Actions」タブで確認可能


5. GitHub Actions のメリット

  • GitHubリポジトリと統合されているため、設定が簡単

  • Marketplace に多くの再利用可能なアクションが存在

  • 無料枠が充実(パブリックリポジトリや少量の実行に最適)

  • マトリックスビルドによる多環境テストも容易


6. よくある用途

  • コードのビルドとテスト(CI)

  • Webアプリの自動デプロイ(CD)

  • Lintやフォーマッタの自動実行

  • コンテナビルドとDocker Hubへのpush

  • スケジュールに応じたバッチ処理


まとめ

GitHub Actionsは、GitHub内で完結する強力なCI/CDソリューションです。基本を理解すれば、テストの自動化や本番環境への自動デプロイなど、多くの開発作業を効率化できます。まずは小さなワークフローから始め、段階的に複雑な構成へ発展させることが推奨されます。

生成日:2025/06/09