防止Teamcity上不必要的触发器
我在问题和答案上都搜索了我的问题。我可以找到一个与我的问题相同的问题,但遗憾的是,它没有得到回答 我有很多模块,同样的情况下也有很多依赖项 简化 我有X、Y、Z模块和类似的依赖项:Z->Y->X 当代码提交到X模块时,X1开始运行 X1完成时,Y模块触发,Y1开始运行 Y1完成后,Z模块触发,Z1开始运行 Z1运行时,提交给Y和Y2的代码开始运行 此时,由于Z2将在Y2完成后立即触发,因此Z1构建将变得不必要。因为Z2较新,必须使用Z2 另一方面,依赖于Z的模块也将被不必要地触发(当Z1完成时),因为Z2将在Z2完成时触发相同的模块 我查看了Teamcity的文档;还有论坛。我不认为这是罕见的情况,但无法找到答案或解决办法防止Teamcity上不必要的触发器,teamcity,teamcity-7.0,Teamcity,Teamcity 7.0,我在问题和答案上都搜索了我的问题。我可以找到一个与我的问题相同的问题,但遗憾的是,它没有得到回答 我有很多模块,同样的情况下也有很多依赖项 简化 我有X、Y、Z模块和类似的依赖项:Z->Y->X 当代码提交到X模块时,X1开始运行 X1完成时,Y模块触发,Y1开始运行 Y1完成后,Z模块触发,Z1开始运行 Z1运行时,提交给Y和Y2的代码开始运行 此时,由于Z2将在Y2完成后立即触发,因此Z1构建将变得不必要。因为Z2较新,必须使用Z2 另一方面,依赖于Z的模块也将被不必要地触发(当Z1完成时
任何帮助都将不胜感激。我理解这种痛苦,但我认为这种工作方式对于正确地将问题构建映射到提示它们的代码更改是必要的。例如,如果Z1成功完成并进行了5次更改,但Z2失败并进行了3次更改,则您不一定希望Z1中的代码与失败的构建相关联 如果构建花费了足够长的时间或花费了您不愿意花费的计算资源,您可以考虑取消Z1构建,我不知道有什么内置机制可以做到这一点,但您可以编写自己的插件,或者通过构建步骤编写脚本 TeamCity中的RESTAPI提供了一些处理方法,您可以看到更多
如果您可以选择在每次提交时构建X1,那么您甚至可以在Y1 targetHi Mark中这样做。问题不在于失败的构建。当一个生成配置触发多次(一个由直接依赖项触发,第二个由依赖项的依赖项触发)时,第一个生成将过时,并且该生成也会触发生成。我知道您遇到的问题与失败的生成无关,我的意思是team city这样做的方式是支持失败的构建。我用一种可以用来取消buildHi Biswajit的方法更新了我的答案。正如你所说,沉默期解决不了我们的问题。我研究了合适的构建概念,但似乎解决不了太多问题。假设没有损坏的构建。我试图为那些花费在不必要构建上的代理节省时间(在我的问题中,是z1和由z1触发的构建)。我们可以看出z1和由z1触发的构建可以手动取消,对吗?在这一点上,我试图找出teamcity是否能够实现并取消这一构建。