投稿

[GitHub 100日チャレンジ] Day 89 - Reusable Workflowsを使う

複数Repositoryで共通するCI/CD処理をReusable Workflowsとして切り出し、保守しやすくする方法を学びます。

[GitHub 100日チャレンジ] Day 89 - Reusable Workflowsを使う

Reusable Workflowsとは

Reusable Workflowsは、workflow全体を再利用できる仕組みです。複数Repositoryで同じCIやdeploy手順を使う場合に便利です。

呼び出されるworkflow

再利用される側は workflow_call を使います。

1
2
3
4
5
6
on:
  workflow_call:
    inputs:
      node-version:
        required: true
        type: string

呼び出すworkflow

1
2
3
4
5
jobs:
  test:
    uses: org/repo/.github/workflows/node-ci.yml@main
    with:
      node-version: "20"

Custom Actionとの違い

  • Custom Action: step単位の再利用
  • Reusable Workflow: jobやworkflow単位の再利用

今日のゴール

Reusable Workflowsは、チームや組織でCI/CDの型をそろえるための仕組みです。共通処理が増えてきたら切り出しを検討しましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。