无法以发布名称格式引用工件的内部版本号
Unable to reference artifacts' build numbers in Release name format
我的 Azure DevOps 发布管道中有三个项目,它们具有以下源别名:_Client
、_Database
、_WebApp
。
_Client
是初级神器。我想在发布名称中包含每个工件的内部版本号。
我在 "Options" 选项卡下的 "Release name format" 中使用了以下表达式。
Release-$(rev:r) for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts_Client.BuildNumber)
我预计它将发布命名为“Release-74 for Core Build-29.0.0.69, Db Build-1.0.0.29, Client Build-2.1.0.34
而是将其命名为 "Release-74 for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Database.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber)"
在初始化作业日志中,它确实显示了工件及其各自的内部版本号,如下所示:
[RELEASE_ARTIFACTS__DATABASE_BUILDNUMBER] --> [1.0.0.29]
[RELEASE_ARTIFACTS__CLIENT_BUILDNUMBER] --> [2.1.0.34]
[RELEASE_ARTIFACTS__WEBAPP_BUILDNUMBER] --> [29.0.0.69]
[RELEASE_RELEASENAME] --> [Release-74 for Core Build-29.0.0.69, Db Build-1.0.0.29, Client Build-2.1.0.34]
是因为在创建管道时无法解析工件内部版本号,还是有其他方法可以实现?
我的版本中有同样的行为,看起来 Artifacts 变量只有在版本开始后才获得它们的值,所以不可能将它们放在版本名称中。
作为解决方法,您可以添加一个简单的命令行任务,使用日志记录命令来更新版本名称:
echo ##vso[release.updatereleasename]Release-$(rev:r) for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber)
我的 Azure DevOps 发布管道中有三个项目,它们具有以下源别名:_Client
、_Database
、_WebApp
。
_Client
是初级神器。我想在发布名称中包含每个工件的内部版本号。
我在 "Options" 选项卡下的 "Release name format" 中使用了以下表达式。
Release-$(rev:r) for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts_Client.BuildNumber)
我预计它将发布命名为“Release-74 for Core Build-29.0.0.69, Db Build-1.0.0.29, Client Build-2.1.0.34
而是将其命名为 "Release-74 for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Database.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber)"
在初始化作业日志中,它确实显示了工件及其各自的内部版本号,如下所示:
[RELEASE_ARTIFACTS__DATABASE_BUILDNUMBER] --> [1.0.0.29]
[RELEASE_ARTIFACTS__CLIENT_BUILDNUMBER] --> [2.1.0.34]
[RELEASE_ARTIFACTS__WEBAPP_BUILDNUMBER] --> [29.0.0.69]
[RELEASE_RELEASENAME] --> [Release-74 for Core Build-29.0.0.69, Db Build-1.0.0.29, Client Build-2.1.0.34]
是因为在创建管道时无法解析工件内部版本号,还是有其他方法可以实现?
我的版本中有同样的行为,看起来 Artifacts 变量只有在版本开始后才获得它们的值,所以不可能将它们放在版本名称中。
作为解决方法,您可以添加一个简单的命令行任务,使用日志记录命令来更新版本名称:
echo ##vso[release.updatereleasename]Release-$(rev:r) for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber)