Skip to content
Latchkey

GitHub Actions とは?GitHub に組み込まれた CI/CD を解説

GitHub Actions は GitHub の組み込み自動化プラットフォームです。リポジトリで何かが起きるたびに、YAML で定義された workflow を実行します。

GitHub Actions を使えば、GitHub を離れることなくコードの build、テスト、deploy を自動化できます。何をすべきかを YAML ファイルで記述すると、一致するイベントが発生するたびに、GitHub が runner と呼ばれる仮想マシン上でその作業を実行します。

何であるか

GitHub Actions は、GitHub 内部でホストされる継続的インテグレーションおよび継続的デリバリー(CI/CD)サービスです。別途 CI サーバーを構築する代わりに、workflow ファイルをリポジトリにコミットすると、GitHub がそれらを自動的に実行します。

仕組み

.github/workflows/ の下に YAML ファイルを配置します。各ファイルは、リッスンする 1 つ以上のイベントと、それらが発火したときに実行する job を宣言します。GitHub は runner をプロビジョニングし、コードを checkout し、step を実行して、ステータスを commit または pull request に報告します。

A minimal workflow
name: CI
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test

中核となる構成要素

  • Workflow: イベントと job を結びつける YAML ファイル。
  • Job: 1 つの runner 上で実行される step の集合。
  • Step: 単一のコマンドまたは action。
  • Action: 再利用可能でパッケージ化された作業単位。

なぜ重要か

コードのすぐそばに存在するため、GitHub Actions は自動化をあらゆる pull request のファーストクラスな要素にします。status check、deploy、セキュリティスキャンはコードが変わった瞬間に実行され、維持すべき別のツールなしで高速なフィードバックを提供します。

どこで実行されるか

workflow はデフォルトで GitHub ホストの runner 上で実行されますが、self-hosted またはマネージドの runner 上でも実行できます。Latchkey は、GitHub ホストの runner と同じ workflow を、より安価でインスタンス障害時に自己修復するマネージド runner 上で実行します。

重要なポイント

  • GitHub Actions は GitHub ネイティブの CI/CD プラットフォームです。
  • workflow はイベントによってトリガーされる .github/workflows/ 内の YAML ファイルです。
  • モデルはイベントから workflow、job、step へと続きます。

関連ガイド