リポジトリで、pull request のオープンや issue の作成などの イベント が発生したときにトリガーされるように GitHub Actions ワークフロー を構成できます。 ワークフローには、1 つ以上の ジョブ が含まれており、ジョブは順次にまたは並列で実行できます。 各ジョブは、専用の仮想マシン ランナー 内、またはコンテナー内で実行され、定義した スクリプト を実行するか、または アクション (ワークフローを簡略化できる再利用可能な拡張機能) を実行する 1 つ以上のステップで構成されます。

Workflows
ワークフローとは、1 つ以上のジョブを実行する構成可能な自動化プロセスです。 ワークフローは、リポジトリにチェックインされる YAML ファイルによって定義され、リポジトリ内のイベントによってトリガーされたときに実行されます。また、手動でトリガーしたり、定義されたスケジュールでトリガーしたりすることもできます。
ワークフローは、リポジトリ内の .github/workflows ディレクトリで定義されます。 1 つのリポジトリで複数のワークフローを使用でき、それぞれで次のような異なるタスクのセットを実行できます。
- Pull request のビルドとテスト
- リリースが作成される度にアプリケーションを配置する
- 新しい issue が開かれる度にラベルを追加する
別のワークフロー内のワークフローを参照できます。 詳しくは、「ワークフローを再利用する」をご覧ください。
詳しくは、「ワークフローの書き込み」をご覧ください。
イベント
**イベント**とは、**ワークフロー**実行をトリガーする、リポジトリ内の特定のアクティビティです。 たとえば、pull request が作成されたとき、issue が開かれたとき、またはリポジトリにコミットがプッシュされたときに、GitHub からアクティビティを発生させることができます。 また、[[スケジュール]](/actions/using-workflows/events-that-trigger-workflows#schedule) に従って、[[REST API に投稿]](/rest/repos/repos#create-a-repository-dispatch-event) または手動で、ワークフロー実行を作動させることもできます。
ワークフローのトリガーに使用できるイベントの完全な一覧については、「ワークフローをトリガーするイベント」を参照してください。
Jobs
**ジョブ**とは、同じ**ランナー**で実行される、ワークフロー内の一連の**ステップ**です。 各ステップは、実行されるシェル スクリプト、または実行される **アクション** のいずれかです。 ステップは順番に実行され、相互に依存します。 各ステップは同じランナーで実行されるため、あるステップから別のステップにデータを共有できます。 たとえば、アプリケーションをビルドするステップの後に、ビルドされたアプリケーションをテストするステップを続けることができます。
ジョブと他のジョブとの依存関係を構成できます。既定では、ジョブに依存関係はなく、並列で実行されます。 ジョブが別のジョブに依存している場合、そのジョブは、依存しているジョブが完了するまで待機してから実行されます。
たとえば、ジョブに依存していないさまざまなアーキテクチャ用の複数のビルド ジョブと、それらのビルドに依存するパッケージ化ジョブを設定するとします。 ビルド ジョブは並列で実行され、それらがすべて正常に完了したら、パッケージ化ジョブが実行されます。
詳しくは、「ワークフローの目的を選択」をご覧ください。
アクション
**アクション** は、GitHub Actions 用のカスタム アプリケーションであり、複雑で頻繁に繰り返されるタスクを実行します。 アクションを使用すると、**ワークフロー** ファイルに記述する繰り返しコードの量を削減するのに役立ちます。 アクションでは、GitHub からの Git リポジトリのプル、ビルド環境に適したツールチェーンの設定、またはクラウド プロバイダーに対する認証の設定を実行できます。
独自のアクションを記述することも、GitHub Marketplace で、ワークフローで使用するアクションを見つけることもできます。
アクションを公開せずにエンタープライズ全体でアクションを共有するには、内部リポジトリにアクションを格納し、同じ組織またはエンタープライズ内の任意の組織が所有する他のリポジトリ内の GitHub Actions ワークフローへのアクセスを許可するようにリポジトリを構成します。 詳しくは、「アクションとワークフローを企業と共有する」をご覧ください。
アクションの詳細については、「自動化の再利用」を参照してください。
ランナー
**ランナー**とは、ワークフローがトリガーされると実行されるサーバーです。 各ランナーは一度に 1 つの**ジョブ**を実行できます。
GitHub には、ワークフローを実行するための Ubuntu Linux、Microsoft Windows、macOS ランナーが用意されています。 各ワークフロー実行は、新しくプロビジョニングされた仮想マシンで実行されます。
GitHub には、より大きな構成で使うことができる より大きなランナー も用意されています。 詳しくは、「より大きなランナーの使用」をご覧ください。
別のオペレーティング システムが必要な場合、または特定のハードウェア構成が必要な場合は、独自のランナーをホストできます。
セルフホステッド ランナーの詳細については、「セルフホステッド ランナーの管理」を参照してください。
次のステップ
次に、Enterprise で GitHub Actions のロールアウトを計画する方法について学びます。 「GitHub Actions のロールアウトの計画」を参照してください。