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

Windows环境下无需Bash设置Azure Pipelines自定义变量的正确语法

Azure Pipelines Windows环境下设置自定义流水线变量的正确方法

直接用set命令只能修改当前脚本进程的环境变量,无法同步到Azure Pipelines的全局变量上下文,所以你之前的两种写法都不会生效。要修改流水线级别的变量,必须使用Azure Pipelines的任务日志命令,具体分两种场景:

仅当前作业后续任务生效

在Cmd脚本任务中,使用以下语法更新变量:

- script: echo "##vso[task.setvariable variable=BuildDir]$(Agent.BuildDirectory)"
  displayName: '更新BuildDir变量'

执行该任务后,当前作业里后续的所有任务都能读取到更新后的$(BuildDir)值。

让变量在后续作业中生效

如果需要跨作业传递更新后的变量,需添加isoutput=true标记将其设为输出变量:

jobs:
- job: Job1
  variables:
  - name: BuildDir
    value: "test"
  steps:
  - script: echo "##vso[task.setvariable variable=BuildDir;isoutput=true]$(Agent.BuildDirectory)"
    displayName: '设置输出变量BuildDir'
    name: SetBuildDirVar # 给步骤命名,方便后续作业引用

- job: Job2
  dependsOn: Job1 # 必须声明依赖关系
  variables:
  - name: BuildDirFromJob1
    value: $[ dependencies.Job1.outputs['SetBuildDirVar.BuildDir'] ]
  steps:
  - script: echo $(BuildDirFromJob1)
    displayName: '读取跨作业传递的BuildDir变量'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:07:10