Azure devops 如何在Azure Devops构建管道中用连接的版本变量替换令牌
我的Azure DevOps构建管道使用GitVersion对构建构件进行版本控制。任务存在时,设置GitVersion变量,该变量允许访问GitVersion.MajorMinorPatch等。我想做的是将这个变量与BuildID连接起来。使用以下命令设置人工制品名称效果良好:Azure devops 如何在Azure Devops构建管道中用连接的版本变量替换令牌,azure-devops,yaml,azure-pipelines,gitversion,Azure Devops,Yaml,Azure Pipelines,Gitversion,我的Azure DevOps构建管道使用GitVersion对构建构件进行版本控制。任务存在时,设置GitVersion变量,该变量允许访问GitVersion.MajorMinorPatch等。我想做的是将这个变量与BuildID连接起来。使用以下命令设置人工制品名称效果良好: name: $(GitVersion.MajorMinorPatch).$(BuildID) 在下一步中,我希望将该版本写入各种配置文件中。我安装了ReplaceToken插件,它用变量“Version”的内容替换特
name: $(GitVersion.MajorMinorPatch).$(BuildID)
在下一步中,我希望将该版本写入各种配置文件中。我安装了ReplaceToken插件,它用变量“Version”的内容替换特定的令牌(在我的例子中是#{Version})
创建一个名为Version、值为“$(GitVersion.MajorMinorPatch)。$(BuildID)”的变量,只需将该变量替换为字符串而不是计算值。我已经尝试在GitVersion任务之后运行的作业中设置变量,因此在创建变量时它应该已经存在
例如
“准备”作业当前正在运行GitVersion任务,因此它在其他作业期间存在
如何将连接的GitVersion/BuildId版本获取到配置文件中?问题在于GitVersion变量的作用域。我只能在执行任务的作业中访问它 解决方案:
- powershell: echo "##vso[task. variable=Version;isOutput=true]$env:VERSION.$env:BUILD_ID"
env:
VERSION: $(GitVersion.MajorMinorPatch)
BUILD_ID: $(Build.BuildId)
name: SetVersion
displayName: Set Version
- job: 'Frontend'
dependsOn: 'Preparation'
variables:
Version: $[ dependencies.Preparation.outputs['SetVersion.Version']]
- job: 'Frontend'
dependsOn: 'Preparation'
variables:
Version: $[ dependencies.Preparation.outputs['SetVersion.Version']]