标记 commit/build 用于部署

Marking a commit/build for deploy

所以我们目前只是在部署 master,但正在 运行 解决我们想要部署 commit/build 的问题,我们所有的测试都在 运行 上进行。这通常是 4:30pm 上 master 的快照商店。我们 运行 我们在 4:30pm 自动为所有测试构建配置(我们称此构建配置为 ALLTESTS),因此我们可以控制此 commit/build 在 ALLTESTS 配置中的标记方式。

我们将测试和部署分开,所以当执行部署时(手动或自动),它应该只选择一个已标记的 b运行ch/tag/commit/build。将测试添加到我们的部署构建配置中不是一个可行的解决方案。

最初我计划使用 Git 标签。一个名为 deploy 的标签将被删除并添加到某些提交中,然后当部署被触发时,该提交将被部署。

我在此处 运行 提出的问题是,没有一种简单的方法可以在构建步骤中手动添加 git 标签。我是否应该只编写使用 git 命令的命令行构建步骤从任何提交中删除标记 deploy 并将其添加到 运行ning 的提交中?

有没有更好的 teamcity 方法来做到这一点?我已经成功地让 teamcity 标签通过 REST API 工作,但我也不确定它们是否符合需要。

我想我可以编写 powershell 来解析其余部分 API 以获取在 ALLTESTS 中最后成功的构建 ID,然后以某种方式将其提供给部署。我将如何获取内部版本号并将其用作部署的基础?

Should I just write command-line build step that uses git commands remove the tag deploy from whatever commit has it and to add it to commit that is running?

快速回答是否定的。你实际上可以使用这样的东西:

git tag -f deploy <commit-sha>

并将您的标签更新为给定的提交。

干杯。