導入
GitHub には CI/CD の仕組みが標準で組み込まれています。それが GitHub Actions。リポジトリの .github/workflows/ に YAML ファイルを置くと、それが「ワークフロー」として自動で動きます。まずは全体の骨格=用語の階層 を押さえます。
説明
ワークフロー YAML は次の階層でできています。
flowchart TD
W["workflow(ファイル1つ)"] --> J1["job: build"]
W --> J2["job: deploy"]
J1 --> S1["step: チェックアウト"]
J1 --> S2["step: 依存インストール"]
J1 --> S3["step: テスト実行"]
最小のワークフローを読んでみましょう。行の意味をコメントで添えます。
name: CI # ワークフローの表示名
on: [push] # いつ動かすか(push されたら)
jobs: # 実行する仕事の集まり
build: # job の名前(自由に付けられる)
runs-on: ubuntu-latest # どのOSの仮想マシンで動かすか
steps: # 上から順に実行する手順
- uses: actions/checkout@v4 # リポジトリのコードを取り出す
- run: echo "Hello, CI!" # シェルコマンドを1つ実行
覚える言葉は4つだけです。
| 用語 | 意味 |
|---|---|
on | いつ 動かすか(トリガー)。push・pull_request など |
jobs | 何を するか。仕事の集まり。既定では並行に動く |
runs-on | どこで 動かすか。仮想マシンのOS |
steps | job の中で 順番に 実行する手順 |
steps の各行は2種類あります。uses: は 公開された部品(アクション)を呼ぶ(例:actions/checkout@v4 はコードの取り出し)、run: は シェルコマンドを直接実行 します。
まとめ
- 置き場所は
.github/workflows/*.yml。 - 階層は workflow → jobs → steps。
on=いつ /jobs=何を /runs-on=どこで /steps=順番に。- step は
uses(部品)かrun(コマンド)。