首页 文章

在构建失败条件下需要跳过TeamCity步骤

提问于
浏览
6

根据我对TeamCity如何工作的观察,我注意到在完成所有步骤之后评估构建失败条件 . 这非常烦人,因为如果遇到任何构建失败条件,我就无法执行一个步骤 .

我不是指常见的构建失败条件,例如“至少一个测试失败” . 我指的是手动添加的故障情况,例如公制更改 .

当我检查构建日志时,我清楚地看到所有步骤都已执行,并且最后它只评估构建失败条件,并记录相应的错误(如果有的话) . 但是在这个过程中为时已晚,因为条件步骤(必须基于“如果构建状态成功则仅执行”失败)已经执行 .

问题:我怎样才能做到这一点?

从上面可以看出,我已经尝试了一个条件步骤并添加了构建失败条件,但无法实现所需的结果 .

Addition for clarity

基本上,我有一个部署应用程序的步骤 . 但是,我的期望是,如果满足构建失败条件,我不应该部署 . 我所拥有的构建失败条件的示例是度量标准更改 . 显然,这可以表示为构建失败条件,并且我可以在构建状态不成功的情况下使构建步骤失败 . 然而,似乎不是构建步骤将如何表现,所以我很困惑(我认为这是构建步骤中条件的目的) . 我错过了什么?

2 回答

  • 0

    构建和部署“构建配置”应该分开 .

    如果构建“构建配置”成功完成(不激活失败条件),那么这将触发部署“构建配置”以运行 .

  • 1

    这是因为在完成所有构建步骤时会检查构建失败条件 . 这是有道理的,因为对于像度量变化这样的条件你应该等待构建完成,我的意思是你不能考虑计算工件大小或在日志中寻找特定文本或类似的东西,直到构建完成 .

    也就是说 - 对于您的情况,您应该考虑编写在失败时使用非零退出代码退出的构建步骤,然后您可以在 Execute step build step 中使用 If all previous steps finished successfully 选项 .

相关问题