You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions步骤输出在后续步骤不显示,该如何解决?

问题分析与解决

核心错误点

  1. 多余转义引号导致输出变量未正确识别
    你在echo命令中使用了\"转义双引号,这会让输出内容变成"exit_code=0"而非exit_code=0。GitHub Actions的GITHUB_OUTPUT要求键值对是纯文本的key=value格式,带引号的内容无法被解析为有效输出变量,因此后续步骤读取不到exit_code的值。

  2. 结果展示步骤仅读取单一步骤输出
    Show Exit code步骤只引用了steps.step-fail.outputs.exit_code,当单元测试成功时,失败步骤未执行,自然没有输出;即使测试失败,也会因前面的转义问题导致变量为空。

修正后的YAML配置

- name: Run Unit Tests
        run: dotnet test .\app\tests --no-restore

      - name: Success Output
        if: success()
        id: step_pass
        run: echo "exit_code=0" >> $GITHUB_OUTPUT

      - name: Failure Output
        id: step-fail
        if: failure()
        run: echo "exit_code=1" >> $GITHUB_OUTPUT

      - name: Show Exit code
        if: always()
        run: echo "The exit code is ${{ steps.step_pass.outputs.exit_code || steps.step-fail.outputs.exit_code }}"

关键修正说明

  • 移除echo命令中多余的转义符,直接使用echo "exit_code=0"(或不带双引号的echo exit_code=0),确保输出为标准键值对格式,让GitHub Actions能正确解析输出变量。
  • 在展示步骤中用||逻辑运算符同时读取成功、失败步骤的输出——由于每次只会有一个步骤执行并生成输出,这样就能准确获取对应的exit_code值。

内容的提问来源于stack exchange,提问作者Rafa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:01:04