CI/CD・デプロイ

GitHub Actions ぎっとはぶあくしょんず

CI/CDワークフロー自動化YAMLランナーデプロイ
GitHub Actionsについて教えて

簡単に言うとこんな感じ!

コードを更新したら自動でテスト・チェック・リリースまでやってくれる「優秀なロボット助手」だよ!GitHubのリポジトリに設定ファイルを置くだけで、面倒な繰り返し作業をぜんぶ自動化してくれるんだ!


GitHub Actionsとは

GitHub Actionsは、GitHubが提供するCI/CD(継続的インテグレーション/継続的デリバリー)プラットフォームです。コードの変更をトリガーに、テスト・ビルド・デプロイといった一連の作業を自動的に実行できます。設定はすべてYAMLファイルで記述し、リポジトリ内の .github/workflows/ ディレクトリに置くだけで動き始めます。

特筆すべきは、GitHubというコード管理の中心地に直接組み込まれている点です。プルリクエストを出したら自動でテストが走る、mainブランチにマージしたら本番環境へ自動デプロイされる、といった動きを追加のサービス契約なしに実現できます。パブリックリポジトリでは無料で無制限に使える点も普及を後押しした大きな理由です。

開発チームだけでなく、「コードを触らないが、リリースの承認や品質確認に関わる」ビジネスサイドの担当者にとっても重要な概念です。GitHub Actionsが整備されているプロジェクトは、品質管理と出荷プロセスが自動化・可視化されていることを意味するため、発注・委託先を評価する際の指標にもなります。


GitHub Actionsの構成要素

GitHub Actionsは以下の概念で構成されています。全体像を把握しておくと、ベンダーやエンジニアとの会話がスムーズになります。

用語意味実務での例え
ワークフロー(Workflow)自動化の全体の流れ。YAMLファイル1つが1ワークフロー「出荷チェックリスト」全体
トリガー(on)ワークフローを起動するきっかけ「プルリクエストが来たら」「毎朝9時に」
ジョブ(Jobワークフロー内の処理のかたまり。並列実行も可能「テスト担当」「ビルド担当」
ステップ(Step)ジョブ内の個々の命令「ファイルをコピーする」「コマンドを実行する」
アクション(Action)再利用可能な処理のパーツ。Marketplaceで公開・共有される「既製品の部品」
ランナー(Runner)実際にジョブを実行するサーバー環境「作業を実行するロボットの本体」

ワークフローファイルの基本構造

# .github/workflows/ci.yml

name: CI パイプライン           # ワークフローの名前

on:                             # トリガー(いつ動くか)
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  test:                         # ジョブ名
    runs-on: ubuntu-latest      # ランナーのOS

    steps:
      - uses: actions/checkout@v4          # リポジトリをチェックアウト
      - name: テストを実行
        run: npm test                      # 実際のコマンド

主なトリガー一覧

トリガータイミング使いどころ
pushコードをプッシュしたとき即時テスト
pull_requestPRを作成・更新したときマージ前チェック
schedulecron形式で定期実行夜間バッチ・定期チェック
workflow_dispatch手動で実行ボタンを押したとき本番デプロイの承認フロー
releaseリリースを作成したとき成果物のパッケージング

歴史と背景

  • 2008年 — GitHub創業。コード管理のデファクトスタンダードへと成長
  • 2011年頃 — Jenkins・CircleCI・Travis CIなど外部CI/CDツールが普及。GitHubと連携して使う形が主流だった
  • 2018年10月 — GitHub Actionsをβ版として発表。GitHubネイティブのCI/CDとして大きな注目を集める
  • 2019年11月 — GitHub Actions 正式リリース(GA)。パブリックリポジトリ無料・プライベートも月2,000分無料の枠を提供
  • 2020年〜 — GitHub Marketplace にアクション数が急増。コミュニティによる再利用可能なアクションが1万件以上に
  • 2021年 — ARM対応・大容量ランナーの提供など、エンタープライズ向け機能を強化
  • 2022年〜現在OpenID Connect(OIDC)によるクラウド認証連携、必須ワークフローによるガバナンス機能なども追加。大企業の採用が加速

CI/CDパイプラインの全体像

GitHub Actionsがどのフェーズを担うか、典型的な開発フローで見てみましょう。

GitHub Actions によるCI/CDパイプライン コード プッシュ テスト (CI) ビルド (CI) ステージング デプロイ(CD) 本番 デプロイ(CD) GitHub Actions ワークフロー(自動実行される内容) ▶ テストジョブ ① コードを取得 ② 依存パッケージ導入 ③ 単体テスト実行 ④ カバレッジ計測 ▶ ビルドジョブ ① コードを取得 ② コンパイル・バンドル ③ Dockerイメージ作成 ④ レジストリへ保存 ▶ デプロイジョブ ① 承認チェック ② クラウドに接続 ③ イメージをデプロイ ④ ヘルスチェック ▶ 通知ジョブ ① 結果を集計 ② Slackへ通知 ③ PR にコメント ④ レポート保存 トリガー例: push / pull_request / schedule / workflow_dispatch

他のCI/CDツールとの比較

比較軸GitHub ActionsCircleCIJenkins
導入のしやすさ★★★ YAMLを置くだけ★★☆ 外部サービス登録要★☆☆ サーバー構築が必要
GitHubとの統合ネイティブ(最高)API連携プラグイン
無料枠パブリック無制限・プライベート2,000分/月6,000分/月自前サーバーなら無制限
カスタマイズ性Marketplace活用Orbs(再利用部品)プラグイン豊富
ランナーの自由度セルフホストも可セルフホストも可完全自前管理
エンタープライズ向けGitHub Enterprise対応Enterprise対応最も柔軟

ビジネス担当者が押さえておくべきポイント

✅ GitHub Actions が整っているプロジェクト = 品質ゲートが自動化されている
✅ PRごとにテストが走る = 「動作確認してから」を機械が保証してくれる
✅ デプロイが自動化されている = リリース作業のミスや漏れが減る
⚠️ ワークフローの設計が雑 = 自動化の恩恵が得られない(要確認ポイント)

関連する規格・RFC

※ GitHub Actions 自体に対応する公式のIETF RFC・ISO規格は存在しませんが、関連するオープン仕様を参照できます。

規格・仕様内容
OpenID Connect Core 1.0GitHub ActionsのクラウドへのOIDC認証に使われる仕様
YAML 1.2ワークフロー定義ファイルの記述言語の仕様

関連用語

  • CI/CD — 継続的インテグレーション/継続的デリバリーの総称。GitHub Actionsが実現する自動化の概念
  • Git — GitHub Actionsのトリガー元となるバージョン管理システム
  • Docker — GitHub Actionsのビルドジョブでよく使われるコンテナ技術
  • YAML — GitHub Actionsのワークフロー定義に使うデータ記述言語
  • プルリクエスト — GitHub Actionsの代表的なトリガーとなるコードレビューの仕組み
  • ランナー — GitHub Actionsのジョブを実際に実行するサーバー環境
  • Marketplace — 再利用可能なアクションを公開・共有するGitHubのエコシステム
  • デプロイ — 開発したソフトウェアを本番環境へ反映する作業。GitHub Actionsで自動化される代表例