是否可以手动更新构建变量$(Build.BuildId)

问题描述 投票:1回答:1

我正在帮助他们的VSTS构建的朋友,我们正在使用两个构建标识符

  • $(Build.BuildId)
  • $(Build.BuildNumber)

这是特定于Xamarin.iOS构建的,我们使用新的VSTS构建任务来更新Info.Plist。我们需要使用$(Build.BuildId)作为版本代码,这只是一个递增的数字。然后我们想要使用$(Build.BuildNumber)作为实际版本名称。如果要将其格式化为构建字符串,它将如下所示:

  • $(Build.BuildNumber) = 1.0.0
  • $(Build.BuildId) = 148
  • 结果= 1.0.0(148)

问题是我们已经将应用程序提交到应用程序商店,其中包含更大的构建ID,然后是我们当前构建的内容。我们希望手动更新BuildId,而不是运行构建X次以同步它,以便我们可以开始使用它来完成整个工作流程。

azure-devops
1个回答
3
投票

不,这是不可能的。

预定义变量Build.BuildId值对于在VSTS帐户中记录回显构建是唯一的。

即使您可以通过logging命令更改值,但它只能用于当前构建,当您在构建下一个队列时,构建ID将继续增加而不会产生任何影响。

例如当前的Build.BuildId是148,即使你在构建中使用Write-Host "##vso[task.setvariable variable=Build.BuildId]2148"的值100,但是当另一个构建排队时,Build.BuildId将是149。

解决方法是使用用户定义的变量而不是Build.BuildId

添加用户定义的变量,例如custom.BuildId,并使用($(Build.BuildID)+GapNumber)设置值。

例如,如果当前Build.BuildID为148,而您在app store中提交的构建ID为2148,那么您可以使用值为custom.BuildId($(Build.BuildID)+2000)。然后使用变量$(custom.BuildId)$(Build.BuildNumber)为您的应用程序。

enter image description here

对于下一个构建。 custom.BuildId值为1149。

© www.soinside.com 2019 - 2024. All rights reserved.