首页/开发/CI/CD 与发布速查/GitHub Actions 作业输出传递
工具链要点63 条

GitHub Actions 作业输出传递

作业之间通过 outputs 传值:步骤将值写入 GITHUB_OUTPUT 文件,作业级 outputs 引用步骤输出,下游用 needs 读取。

CI/CD 与发布速查开发更新于 2026-10-12
步骤级echo "key=value" >> "$GITHUB_OUTPUT"
作业级outputs: key: ${{ steps.x.outputs.y }}
下游读取needs.<job>.outputs.<key>
旧接口set-output 已弃用,不要新写

输出与读取

输出与读取
jobs:
  meta:
    runs-on: ubuntu-latest
    outputs:
      tag: ${{ steps.t.outputs.tag }}
    steps:
      - id: t
        run: echo "tag=v1.9.0" >> "$GITHUB_OUTPUT"
  use:
    needs: meta
    runs-on: ubuntu-latest
    steps:
      - run: echo "${{ needs.meta.outputs.tag }}"
多行值写入 GITHUB_OUTPUT 使用定界符语法;简单标量直接 key=value。

易错点

  • 继续使用已弃用的 set-output:新运行器上出现弃用告警甚至失败
  • 把上游输出当可信数据:来自不可信步骤的值要先校验

数据来源与参考

  • GitHub Docs《Workflow commands for GitHub Actions》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌