首页/开发/CI/CD 与发布速查/GitHub Actions 可复用工作流
工具链要点63 条

GitHub Actions 可复用工作流

把整条工作流定义为可调用单元:workflow_call 声明输入、密钥与输出,其他工作流以 uses 引用;适合组织级流程标准化。

CI/CD 与发布速查开发更新于 2026-10-12
定义on: workflow_call(inputs/secrets/outputs)
调用uses: org/repo/.github/workflows/x.yml@ref
粒度作业级复用
嵌套支持层级有限,链路保持简短

被调用与调用

被调用与调用
# 被调用方
on:
  workflow_call:
    inputs:
      target: {required: true, type: string}
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo "build ${{ inputs.target }}"
# 调用方
# jobs:
#   call:
#     uses: org/repo/.github/workflows/build.yml@main
#     with:
#       target: prod
复用工作流是作业级复用,复合动作是步骤级复用:按粒度选择。

易错点

  • 调用方 secrets 不会自动传给被调用方:需要显式传递
  • 引用未固定的分支版本:上游变更直接影响全部调用方

数据来源与参考

  • GitHub Docs《Reusing workflows》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌