用語集 最終更新 2026.08.10

workflow

workflow は、GitHub Actions における自動処理の定義単位です。 リポジトリの .github/workflows/ に置いた YAML ファイル1つが、1つの workflow になります。

3つの階層を区別する

用語が入れ子になっているので、ここを混同すると設定が読めません。

単位 意味 実行される場所
workflow ファイル1つ。いつ動くかを定義 —
job 独立した処理のまとまり jobごとに別のrunner
step job の中の1手順 同じ runner

重要なのはjobごとにマシンが変わるという点です。ビルドしたファイルは、別の job では消えています。渡したいなら成果物として明示的に受け渡す必要があります。「ビルドは通ったのにデプロイでファイルが無い」の原因はほぼこれです。

いつ動かすかの設計

on: で起動条件を書きます。何も絞らないと、関係のない変更でも毎回フルビルドが走り、待ち時間と課金が積み上がります。

  • ブランチを絞る(main へのpushだけ、など)
  • パスを絞る(ドキュメントだけの変更ではビルドしない)
  • 手動実行(workflow_dispatch)を用意しておくと運用が楽

並行実行を止める仕組みを入れる

連続でpushしたとき、既定では古い実行も最後まで走ります。デプロイ系の workflow でこれが起きると、古いコードが後から本番へ上書きされることがあります。

同時実行を1本に制限し、古いものを打ち切る設定(concurrency)を入れておくと防げます。flock で二重起動を止めるのと同じ考え方です。

実務で見るポイント

  • 使う action はバージョンを固定する。@main 参照は他人の変更が直接入る
  • Secrets を使う job は、フォークからのPRで動かない前提で設計する
  • 失敗が続いても誰も見ない状態にしない。通知先を決めておく