Azure DevOps在生成任务中设置生成编号变量

时间:2019-10-08 12:11:23

标签: azure azure-devops devops azure-devops-rest-api

在Azure DevOps中,我创建了一个内部版本。在该版本中,我创建了一个ProjectBuildNumber Pipeline变量,该变量可以在队列时间设置。然后在“选项”->“内部版本号”格式下使用该变量来设置我在Azure中显示的内部版本号。

但是,我试图在我正在构建/部署的代码中使ProjectBuildNumber变量可设置。有没有一种方法可以让我的内部版本中有一个任务来更新该ProjectBuildNumber并更新Azure DevOps中的内部版本号?

3 个答案:

答案 0 :(得分:1)

  

有没有一种方法可以让我的版本中有一个任务来更新ProjectBuildNumber并更新Azure DevOps中的内部版本号?

答案是

您可以在构建定义中添加一个Inline Power-Shell任务,以更新ProjectBuildNumber的值,然后基于它更新内部版本号:

Write-Host "##vso[task.setvariable variable=ProjectBuildNumber;]YourUpdateValue"

Write-Host "##vso[build.updatebuildnumber]xxx.$(ProjectBuildNumber).xxx.xxx"

在构建过程中检查Logging Command以获得更多详细信息:

enter image description here

此外,如果要在 UI / Web门户上更新管道变量的值,则需要REST API(Definitions - Update)从构建任务更新构建管道定义变量的值。

有一个非常相似的主题,您可以查看答案的详细信息:

How to modify Azure DevOps release definition variable from a release task?

注意:将API更改为构建定义:

PUT https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=5.0

希望这会有所帮助。

答案 1 :(得分:0)

我们可以通过两种方式更新 Azure Devops 中的内部版本号。 一个来自选项部分/选项卡和第二个通过 PowerShell 脚本。

要从 Power shell 脚本更新内部版本号.. 我们需要添加以下脚本..

写入主机“##vso[build.updatebuildnumber]$(VersionNumber).$(VersionRevision)”

这里我们使用了 2 个变量:VersionNumber 和 VersionRevision。 我们需要在 PipeLine Configurations 中添加 2 个变量。 VersionNumber 将是所需的数字,VersionRevision 是每次创建新版本时都会更新的计数器编号。 请查看 You Tube 视频中的完整演示

https://youtu.be/WBmFTmzopiQ

答案 2 :(得分:-1)

请查看以下Microsoft文档:Variables

根据您的操作系统,您可以添加Powershell / Batch / Bash Task并更改变量。

编辑:经过研究后,变量的更改似乎将显示在以下任务中。看看这个问题Update environment variables using task.setvariable in a bash script does not work