Instiq
第2章 · ワークフローの消費とトラブルシュート·v1.0.0·更新 2026/6/14·読了目安 約15分

変更要約: GH-200 第2章を新規作成(実行結果の解釈とトラブルシュート=トリガー/状態・ログ/アノテーション/実行履歴・ACTIONS_STEP_DEBUG・YAMLアンカー展開・matrix読み取りと個別再実行・ログ/アーティファクトのUI/API取得、テンプレートと再利用=スターターWF/再利用可能WF/コンポジットアクションの違い・組織/非公開テンプレート・無効化と削除)

2.2テンプレートと再利用 — スターター・再利用可能ワークフロー・コンポジット

この節の要点

組織レベルのワークフローテンプレート(スターターワークフロー)と再利用可能ワークフロー(workflow_call)の使い分け、非公開(組織内)テンプレートの利用、スターターワークフロー・再利用可能ワークフロー・コンポジットアクションの違い、そしてワークフローの無効化と削除の違いを理解します。

同じパイプラインを何度も書かないために、GitHub には複数の 再利用の仕組み があり、GH-200 ではそれぞれの違いと使い分けが問われます。最もよく混同されるのが、スターターワークフロー再利用可能ワークフローコンポジットアクション の 3 つです。要点は「コピーして独立するのか、中央定義を呼ぶのか、ステップをアクションに束ねるのか」という違いにあります。

2.2.13 つの再利用方法の違い

スターターワークフロー(starter workflow) は、新しいワークフローを作るときの 雛形(テンプレート) です。組織の .github リポジトリに置くと、メンバーが「新しいワークフロー」画面から選んでコピーできます。コピー後は 独立 し、元を変えても各リポジトリには波及しません(最初の足場用)。一方 再利用可能ワークフロー(reusable workflow)on: workflow_call を持つ 中央の定義 で、呼び出し側が uses: で参照します。元を更新すれば(参照する ref により)呼び出し側に反映され、バージョン管理された一元定義 として機能します。コンポジットアクション(composite action) は、複数のステップを 1 つの アクション にまとめたもので、ワークフローの 1 ステップ(uses:)として呼び出します。

仕組み正体更新の波及呼び出し
スターターワークフロー新規作成用の雛形コピー後は独立(波及なし)UI でコピー
再利用可能ワークフローon: workflow_call の中央定義参照 ref に応じて波及uses: でワークフロー全体を呼ぶ
コンポジットアクション複数ステップを束ねたアクション参照 ref に応じて波及uses: で 1 ステップとして

2.2.2組織レベル・非公開テンプレートの消費

組織は、スターターワークフローと再利用可能ワークフローを 組織内(非公開) で共有できます。スターターワークフローは組織の .github リポジトリworkflow-templates に置き、メンバーが選んで使います。再利用可能ワークフローは、組織内のプライベートリポジトリ にあるものを他リポジトリから呼び出せるよう アクセス(共有)設定 を有効にして消費します。これにより、公開せずに社内標準のパイプラインを配布・統制できます。

2.2.3ワークフローの無効化と削除

ワークフローを止めたいとき、無効化(disable)削除(delete) は意味が異なります。無効化は、ワークフローファイルを残したまま 一時的に実行を止める もので、UI から再度 有効化 できます(メンテナンスや一時停止に好適)。削除はファイル/履歴に対する破壊的操作で、元に戻すには再作成が必要です。「しばらく動かしたくないだけ」なら無効化、「もう不要」なら削除、と使い分けます。

試験ポイント

頻出:
スターターワークフロー=新規作成の雛形(コピー後は独立・波及なし)。組織の .github リポジトリの workflow-templates に配置。
再利用可能ワークフロー=on: workflow_call の中央定義を uses: で呼ぶ(波及あり・バージョン管理)。
コンポジットアクション=複数ステップを束ねたアクション(1 ステップとして uses:)。
④組織内の非公開共有はアクセス設定が必要。
⑤一時停止=無効化(再有効化可)、不要=削除

注意

混同・注意:
①スターターワークフローはコピーして独立——元を直しても各リポジトリには反映されない(中央更新したいなら再利用可能ワークフロー)。
②再利用可能ワークフロー(ワークフロー全体を呼ぶ)とコンポジットアクション(1 ステップ)を取り違えない。
③無効化は実行停止でファイルは残る——削除と混同しない。
④非公開の再利用にはアクセス(共有)設定の有効化が必要。

スターターWF・再利用可能WF・コンポジットアクションの違いを並べた図。
コピー・呼び出し・束ねの違い

2.2.4この節のまとめ

  • スターターワークフロー=新規作成の雛形(コピー後独立)、組織の .github リポジトリで配布
  • 再利用可能ワークフロー=on: workflow_call の中央定義を uses: で呼ぶ(波及・バージョン管理)
  • コンポジットアクション=複数ステップを束ねたアクション(1 ステップとして利用)
  • 非公開共有はアクセス設定が必要。一時停止は無効化(再有効化可)、不要なら削除

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 組織で標準の CI ロジックを 1 か所で管理し、更新すると参照する全リポジトリに反映させたいです。どの仕組みを使いますか?

Q2. チームが新しいワークフローを作るときの「出発点となる雛形」を組織全体に提供したいです。どれが適切ですか?

Q3. 複数のワークフローで繰り返す「セットアップ→ビルド→キャッシュ」の数ステップを、1 つの再利用可能な単位にまとめてワークフローの 1 ステップとして使いたいです。どれが適切ですか?

Q4. あるワークフローをメンテナンス中だけ一時的に実行停止し、後で元に戻したいです(履歴やファイルは残したい)。どうしますか?

Q5. 組織内のプライベートリポジトリにある再利用可能ワークフローを、別のリポジトリから呼び出せるようにするには何が必要ですか?

Q6. スターターワークフローと再利用可能ワークフローの本質的な違いとして正しいものはどれですか?

理解度を確認第2章「ワークフローの消費とトラブルシュート」の問題を解く