【问题标题】:Label a teamcity build so that once it is success in dev, same can be deployed on SIT, UAT and PROD标记一个 teamcity 构建,这样一旦它在开发中成功,就可以在 SIT、UAT 和 PROD 上部署相同的构建
【发布时间】:2015-08-11 13:57:50
【问题描述】:
我在teamcity中寻找一些类似于标签或标签的过程。当我上次从 teamcity 成功构建时,在 DEV 环境上成功部署后,我应该能够为该构建命名。我希望建立一个自动化流程,每当下一次成功部署完成时,旧的工件都会被替换为具有相同标签的新工件。这将始终为我提供最后一次成功部署的具有相同 URL 的开发版本。然后我可以使用这个构建进行 SIT 部署。如果 SIT 部署成功,我将对 SIT 构建进行同样的操作,该构建可进一步用于 UAT。 UAT 和生产案例也有类似的情况。
我使用的是 teamcity REST API 和 shell 脚本。
【问题讨论】:
标签:
deployment
teamcity
build-automation
pipeline
【解决方案1】:
您正在寻找为您的代码库设置金丝雀部署。这个问题的答案取决于您选择的 VCS。 (在具有廉价标记的 git 中更容易做到)。
你可以通过两种方式做到这一点
1234563您可以连接您的 SIT 目标以具有基于此标签的触发器,并在标签移动到新状态时运行
如果您使用的是 teamcity,更好的方法是设置 artefact dependent builds 。使用它,您可以使您的 SIT 构建依赖您的 DEV 目标。每当您的 DEV 目标成功时,您的 SIT 目标就可以通过依赖关系从 DEV 目标下载相关工件,然后继续使用它自己的链。你可以阅读更多关于它here