我正在帮助一个朋友进行 VSTS 构建,我们正在使用这两个构建标识符
这是特定于 Xamarin.iOS 构建的,我们使用新的 VSTS 构建任务来更新 Info.Plist。我们需要使用 $(Build.BuildId) 作为版本代码,它只是一个递增的数字。然后我们要使用 $(Build.BuildNumber) 作为实际的版本名称。如果要将其格式化为构建字符串,它将如下所示:
$(Build.BuildNumber) = 1.0.0$(Build.BuildId) = 148问题是我们已经将我们的应用程序提交到应用程序商店,其构建 ID 比我们当前的构建 ID 更大。我们希望手动更新 BuildId,而不是运行 X 次构建来同步它,这样我们就可以开始在我们的完整工作流程中使用它。
不,这是不可能的。
预定义的变量Build.BuildId值是唯一的,用于记录 VSTS 帐户中的 echo build。
即使您可以通过 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提交的build ID是2148,那么你就可以使用custom.BuildId带有值的($(Build.BuildID)+2000)。然后将变量$(custom.BuildId)和$(Build.BuildNumber)用于您的应用程序。
对于下一个构建。该custom.BuildId值将为 1149。
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |