在 VSTS 中使用 git tag 或 package.json 版本作为 Release 名称
Posted
技术标签:
【中文标题】在 VSTS 中使用 git tag 或 package.json 版本作为 Release 名称【英文标题】:Use git tag or package.json version as Release name in VSTS 【发布时间】:2018-11-02 22:50:57 【问题描述】:我在 VSTS 中有一个用于自动构建和测试的 CI 任务,以及一个用于“带有标签的构建定义默认分支的最新版本”的自动发布定义。
版本名称格式当前设置为默认值 $(rev:r),它只是设置一个与任何真实版本无关的递增数字。
当我更新包版本时,我更喜欢使用我的应用程序版本作为来自 package.json 或由 yarn 创建的 git 标记的发布名称。有什么方法可以实现吗?
【问题讨论】:
【参考方案1】:你不能直接使用 git tag 或 package.json 版本作为发布名称,因为只有 part of predefined variables can be used for release name,并且变量在构建和发布之间不能持久。
但是您可以使用 group variable 获得帮助:在 CI 构建结束时使用 git tag 或 package.json 版本更新 group 变量值,并使用 group 变量作为发布名称。详细步骤如下:
添加变量组
在构建和发布中心 -> 库选项卡 -> 添加具有任意初始值(例如 0
)的变量(例如 tag
)的变量组(例如 release name
)。
在 CI 构建中更改组变量
您可以添加一个 PowerShell 任务以使用 git 标记或 package.json 版本更改组变量。
要获取标签名,可以使用git命令git tag --points-at HEAD
。
要获取package.json版本,可以使用powershell脚本搜索"version"
等开头的行
要更新组变量,您应该使用 REST API Variablegroups - Update。
在发布中使用组变量
要在发布名称中应用 git 标签或 package.json 版本,您可以更改发布定义,如下所示:
版本定义 -> 变量选项卡 -> 变量组 -> 链接变量组 -> 选择变量组 -> 选项选项卡 -> 指定以修订为版本名称的组变量标签。
现在当发布被触发时,它将使用 git 标签或带有修订版本的 package.json 版本作为发布名称。
【讨论】:
以上是关于在 VSTS 中使用 git tag 或 package.json 版本作为 Release 名称的主要内容,如果未能解决你的问题,请参考以下文章
解决eclipse中egit中的cannot open git-upload-pack问题
从在线 VSTS 进程或组变量填充本地 VSTS Linux 代理上的 terraform.tfvars 文件中的变量