workflow_callによる再利用可能ワークフロー
workflow_callを使用して他のワークフローから呼び出せる再利用可能ワークフローテンプレートを作成。inputs、secrets、outputs、組織全体での共有を解説。
Advanced
詳細な説明
再利用可能ワークフロー
再利用可能ワークフローは、ワークフローを一度定義して複数の他のワークフローから呼び出すことができ、リポジトリやチーム間の重複を削減します。workflow_callトリガーを使用します。
主要概念
- Inputs: 呼び出し元から呼び出し先に渡される型付きパラメータ(
string、number、boolean) - Secrets: 明示的に渡される機密値(
secrets: inheritを使用しない限り自動継承されない) - Outputs: 再利用可能ワークフローから呼び出し元に返される値
- クロスリポジトリ: 他のリポジトリのワークフローを参照:
uses: org/repo/.github/workflows/template.yml@main
制限事項
- 最大4レベルのネスト(ワークフローがワークフローを呼び出し...)
- 再利用可能ワークフローは
.github/workflows/ディレクトリに配置する必要がある - 呼び出し元は環境変数を渡せない — 代わりにinputsを使用
- 呼び出されたワークフローは呼び出し元のリポジトリのコンテキストで実行される
ユースケース
組織内の複数リポジトリにわたるデプロイパイプラインの標準化、一貫したテストプラクティスのためのCIテンプレートの共有、または複雑なデプロイロジックのメンテナンス可能なバージョン管理されたテンプレートへの抽象化。