在发布期间标记 TFS Git 存储库

nde*_*des 5 git tfs release tfsbuild ms-release-management

我正在使用 TFS 2017 设置我们的构建/发布环境。

我将 Build 设置为在每次提交后自动运行,当我们准备发布应用程序的某个版本时,会手动创建一个 Release,然后将其部署到各种环境中。

我们想在我们的 git 存储库中标记已发布的版本,以便轻松知道哪个 git 修订版对应于二进制文件。构建定义中的“标签源”设置允许在构建时标记 git 修订版,但由于我们在每次提交时构建,这会生成许多我们不关心的标记(因为它们不会部署到任何地方,直到发布)。

如何设置 TFS,以便在创建发布(或可能部署到环境)时,在我们的 Git 存储库中的相应提交上创建标签?

sta*_*SFT 4

您可以使用 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}
  }
]
Run Code Online (Sandbox Code Playgroud)

通过PowerShell调用Rest API:

$result = Invoke-RestMethod -Uri $uri -Method Get -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
Run Code Online (Sandbox Code Playgroud)

更多信息,您可以参考使用PowerShell调用VSTS API(适用于tfs 2017)