考虑以下构建配置:
[构建和打包] -> [部署到测试] -> [部署到 LIVE]
我已经设置了这些,以便:
- [Deploy to TEST] 对 [Build & Package] 有快照和工件依赖。
- [Deploy to LIVE] 对 [Deploy to TEST] 有快照依赖,对 [Build & Package] 有快照和工件依赖
这将所有构建很好地链接到一个构建链中,这允许我们定期构建和打包,然后当我们准备好时,将链扩展到 TEST 环境中。它可以在这里放置一周进行测试,然后我们运行 [Deploy to LIVE] 配置,因为我们知道我们正在部署上周测试的相同二进制文件。伟大的!
我们使用两个存储库,“Source”用于代码本身,“Config”用于部署参数。这允许 Ops 团队修改和跟踪部署/环境设置,而无需强制源 VCS 存储库增加修订,因此我们避免将环境/配置问题与源问题混淆。也很棒。
Config VCS 根连接到 [Deploy to TEST] 和 [Deploy to LIVE] 配置。
我们刚刚遇到的问题是,自从我们在一周前成功部署到 TEST (Source:1002, Config:6) 后,我们将 deploy 的设置更改为 LIVE,这导致 Config VCS root (Config: 7)。现在我们想使用 Config:7 将已知良好的 Source:1002 部署到 LIVE,但是构建链坚持使用 Config:6 来维护快照。
我们如何强制 TeamCity 允许我们在 LIVE 中使用更新版本的配置,但保持构建链完整?
我们已经对 Source 进行了后续更改,但我们还不想在 LIVE 中使用,所以我不能简单地从头开始重新运行所有内容。