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

在GitHub Actions中实现Azure DevOps的##vso[task.setVariable]等价功能

在GitHub Workflows中实现运行时设置流水线变量的方法

在GitHub Workflows里,无需自定义Action,就能实现类似Azure DevOps中##vso[task.setVariable]的运行时变量传递需求,常用两种方式:

1. 设置同作业内全局环境变量

通过将变量写入$GITHUB_ENV文件,后续所有步骤都能以环境变量的形式访问该值,适合需要在多个步骤中复用的变量。

示例代码:

jobs:
  demo-job:
    runs-on: ubuntu-latest
    steps:
      - name: 运行时设置环境变量
        run: echo "CUSTOM_VAR=github-workflows-demo" >> $GITHUB_ENV
      
      - name: 使用环境变量
        run: echo "获取到的变量值: ${{ env.CUSTOM_VAR }}"

2. 步骤间通过输出传递变量

如果仅需要在特定步骤间传递变量,可通过$GITHUB_OUTPUT写入步骤输出,后续步骤通过步骤ID引用该输出值。

示例代码:

jobs:
  demo-job:
    runs-on: ubuntu-latest
    steps:
      - name: 设置步骤输出变量
        id: set-output-step
        run: echo "STEP_VAR=step-to-step-value" >> $GITHUB_OUTPUT
      
      - name: 使用步骤输出变量
        run: echo "获取到的步骤输出值: ${{ steps.set-output-step.outputs.STEP_VAR }}"

两种方式的差异

  • $GITHUB_ENV:变量会注入到后续所有步骤的环境中,作用范围是当前作业的全局
  • $GITHUB_OUTPUT:变量仅属于当前步骤的输出,需通过步骤ID精准引用,适合单步骤结果传递场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:30:50