GitHub Actions の workflow ファイルとは?
workflow は GitHub Actions における最上位の単位です。イベントを、実行すべき job にマッピングする YAML ファイルです。
GitHub Actions のすべては workflow から始まります。「これが起きたら、これらの job を実行する」と記述する設定ファイルです。1 つのリポジトリは、それぞれ異なる目的の多数の workflow を持つことができます。
何であるか
workflow は .github/workflows/ に保存される YAML ファイルです。名前、on: の下のトリガーイベントの集合、そして実行すべき作業を記述する jobs: ブロックを持ちます。
仕組み
イベントが workflow の on: フィルターに一致すると、GitHub は workflow run を作成します。その run は各 job を runner にスケジュールし、全体の成否を追跡します。
Workflow structure
name: Build and Test
on:
push:
branches: [main]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: make build1 つのリポジトリ、多数の workflow
通常は関心事を別々のファイルに分割します。テスト用に 1 つ、linting 用に 1 つ、deployment 用に 1 つ、という具合です。それぞれが独立して実行され、独自の status check を報告します。
なぜ重要か
workflow はリポジトリのイベントと自動化の間の契約です。小さく焦点を絞って保つことで、読みやすく、デバッグしやすく、再利用しやすくなります。
関連する概念
workflow は job を含み、job は step を含みます。イベントによってトリガーされ、Actions タブで確認できる workflow run を生成します。
重要なポイント
- workflow は
.github/workflows/内の YAML ファイルです。 - イベント(
on:)を job に結びつけます。 - リポジトリは多数の独立した workflow を持てます。
関連ガイド
What Is GitHub Actions? CI/CD Built Into GitHub, ExplainedGitHub Actions is the CI/CD platform built into GitHub. It runs automated workflows in response to repository…
What Is a Job in GitHub Actions?A job in GitHub Actions is a group of steps that runs on a single runner. Jobs run in parallel by default and…
What Is a Workflow Trigger in GitHub Actions?A workflow trigger is the event that starts a GitHub Actions workflow. Triggers are declared in the on key, s…
What Is a Workflow Run in GitHub Actions?A workflow run is a single execution of a workflow triggered by an event, with its own logs, status, and a un…