我在 VSTS 中有一个用于自动构建和测试的 CI 任务,以及一个用于“最新的构建定义默认分支带有标签”的自动发布定义。
版本名称格式当前设置为默认值 $(rev:r),它只是设置一个与任何实际版本无关的递增数字。
当我更新包版本时,我更愿意使用我的应用程序的版本作为发布名称,无论是来自 package.json 还是来自 yarn 创建的 git 标签。有什么办法可以实现吗?
最佳答案
您不能直接使用 git 标签或 package.json 版本作为发布名称,因为只有 p art of predefined variables can be used for release name ,并且变量不能在构建和发布之间持续存在。
但是您可以使用组变量来获得帮助:在您的 CI 构建结束时使用 git 标签或 package.json 版本更新组变量值,并使用组变量作为发布姓名。详细步骤如下:
添加变量组
在 Build and Release Hub -> Library Tab -> Add Variable group (such as
release name
) 与变量(如tag
)具有任何初始值(例如0
)。在 CI 构建中更改组变量
您可以添加 PowerShell 任务以使用 git 标签或 package.json 版本更改组变量。
- 要获取标签名称,可以使用git命令
git tag --points-at HEAD
。 - 要获取 package.json 版本,您可以使用 powershell 脚本搜索以
"version"
等开头的行。 - 要更新组变量,您应该使用 REST API Variablegroups - Update .
- 要获取标签名称,可以使用git命令
在release中使用group变量
要在发布名称中应用 git 标签或 package.json 版本,您可以更改发布定义,如下所示:
版本定义 -> 变量选项卡 -> 变量组 -> 链接变量组 -> 选择变量组 -> 选项选项卡 -> 指定带有修订版本名称的组变量标签。
现在当发布被触发时,它会使用 git 标签或 package.json 版本和 revision 作为发布名称。
关于git - 在 VSTS 中使用 git 标签或 package.json 版本作为发布名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50496990/