我正在使用TFS 2017设置构建/发布环境。
我将Build设置为在每次提交后自动运行,当我们准备发布我们的应用程序版本时,手动创建Release,然后部署到各种环境。
我们希望在我们的git存储库中标记已发布的版本,以便轻松了解哪个git版本对应于二进制文件。 Build定义中的“Label Source”设置允许在构建时标记git修订版,但由于我们构建了每个提交,这些提交会产生许多我们不关心的标记(因为它们在任何地方都没有部署到发布了。)
如何设置TFS以便在创建Release(或可能部署到环境)时,在Git存储库中的相应提交上创建标记?
答案 0 :(得分:3)
您可以使用REST API添加标记:
POST https://{instance}/DefaultCollection/_apis/git/repositories/{repository}/refs?api-version={version}
[
{
"name": {string},
"oldObjectId": {string}, (The current commit id the ref is at. 0000000000000000000000000000000000000000 when creating a new ref.)
"newObjectId": {string}
}
]
通过PowerShell调用Rest API:
$result = Invoke-RestMethod -Uri $uri -Method Get -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
更多信息,您可以参考Calling VSTS APIs with PowerShell(适用于2017年的tfs)
答案 1 :(得分:1)
我已经构建了一个完整的vsts扩展程序:https://marketplace.visualstudio.com/items?itemName=jabbera.git-tag-on-release-task
答案 2 :(得分:0)