我要求我的构建通过私有构建代理生成abc.msi文件。现在我已经添加了Powershell任务,用abc_3.0.0 $(Rev:r).msi重命名abc.msi,但是Powershell任务失败了。请帮助我如何实现这一点。我想拥有像abc_3.0.0.1,abc_3.0.0.2,abc_3.0.0.3 ......等构建名称格式。它应该继续增加$的值(Rev:r)随着构建的增加。
我正在运行的Powershell命令是:
Rename-Item -Path "C:\Softwares\vsts-agent-win-x86-2.147.1\_work\1\s\src\abcSetup\Release\abc.msi" -NewName "C:\Softwares\vsts-agent-win-x86-2.147.1\_work\1\s\src\abcSetup\Release\abc_3.0.0.$(Rev:r).msi"
错误:
Rev:r:术语“Rev:r”不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在C:\ Softwares \ vsts-agent-win-x86-2.147.1_work_temp \ fef4cc6a-e677-4a08-ab29-73c7c31da755.ps1:2 char:243 + ... ork \ 1 \ s \ src \ abcSetup \ Release \ abc_3.0.0。$(Rev:r)。msi“+ ~~~~~ + CategoryInfo:ObjectNotFound:(Rev:r:String)[],ParentContainsErrorRecordException + FullyQualifiedErrorId:CommandNotFoundException
[error] PowerShell退出代码为'1'。
[section] Finishing:重命名.MSI文件
在Azure DevOps中,$(rev:.r)
是一种特殊的变量格式,仅适用于编辑器中的Build Number字段。
使用$(Rev:.rr)确保每个已完成的构建都具有唯一名称。构建完成后,如果构建号中没有其他内容发生更改,则Rev整数值将增加1。
BUILD_BUILDNUMBER
是一个预定义的变量。如果使用此名称创建定义变量,则引用它的任何任务都将获取此变量的值,而不是系统定义的值。
如果您要创建计数器变量,可以使用counter()表达式。 See this documentation for details。它以yaml为中心,但也可以在编辑器中工作。