【发布时间】:2012-07-19 00:14:04
【问题描述】:
我有一个环境构建系统,目前有以下环境:
- 开发
- 词
- uat
- 直播
为了明确,当我说环境构建时,我的意思是每个环境都有一组属性文件,并且在构建期间这些属性用于模板项目文件,因此数据库服务器可能是开发环境中的“本地主机”,但是CI 上的“12.34.56.78”。因此,在开始构建时,您可以给它一个 environment 属性,它会为 dev 以外的东西(这是默认环境)构建。
现在 CI 构建工作正常并正确吐出工件,但是由于构建是 CI,所有它都配置为在该环境中工作,我正在寻找能够触发实时或 uat 的构建CI 构建成功。这将运行相同的构建,但使用不同的构建参数。
现在我注意到有一些机制可以解决这个问题,其中一个似乎是在完成时自动触发,这可能会触发另一个构建,但这似乎需要 2 个独立的构建配置,除了构建参数是“ environment=live”而不是“environment=ci”。然后添加另一个构建步骤,它与第一个步骤相同,但采用不同的参数并将实时工件输出到其他地方,但这总是会像第一个选项一样发生。
我能看到的最后一个选项是在我有 live 候选人 后触发手动构建,但不清楚如何设置构建参数,但我可以创建一个构建参数似乎不会像构建参数这样的命令那样被拉入构建脚本。
【问题讨论】:
-
写完之后我觉得有些奇怪,最终我可以通过使用 %environment% 在我的项目中使用构建参数,所以使用这种方法我现在可以基于此进行手动构建,但仍然有兴趣看看其他人是如何做到的。
-
我使用构建参数来指定部署的目标环境设置。这样您就可以通过 UI 手动触发自定义构建,并指定所有必需的信息。
标签: continuous-integration teamcity