我有一个TeamCity作业,它构建我的项目并运行所有单元测试,另一个作业将构建部署到生产服务器。
我是否可以禁用“部署”作业,以便在构建项目中当前存在失败的测试时无法部署代码?
答案 0 :(得分:4)
部署作业不应该依赖于构建作业吗?通过Artifacts Dependency?您可以将部署作业的构建触发器设置为构建作业上的成功构建触发器,以便在成功构建时进行部署。此外,如果触发部署作业,则需要最后一次成功构建。因此,如果构建作业中的单元测试失败,则不考虑该构建。
我不建议使用快照依赖,因为这意味着在部署时尝试触发新构建,这不是逻辑流程。当然,在快照依赖关系中,只有在合适的构建不可用(或类似的东西)时才能说触发器,但仍然不能采用快照依赖的方式。
答案 1 :(得分:2)
在最近完成的构建上设置部署的快照依赖关系,并确保在失败时确定拒绝的属性[并确保在常规设置中测试失败时构建失败]