如果一个阶段失败,为什么竹子停止建造

时间:2013-09-17 11:59:29

标签: continuous-integration bamboo

我有3个竹节:测试,舞台和制作。所有这些都提取源,编译和运行测试。在以前版本的Bamboo中,如果一个失败(其中一个测试失败,则继续下一个阶段)。在最新版本中,它不会进入下一阶段并停止构建。即使一个阶段失败,我如何覆盖此行为才能继续构建?

输出:

simple  17-Sep-2013 17:56:12    Failing task since return code of [c:\dev\maven3\bin\mvn.bat --batch-mode -Djava.io.tmpdir=C:\Program Files\Bamboo\temp\CS-AND-JOB1 clean install -P envbuild -DbuildNumber=4] was 1 while expected 0
simple  17-Sep-2013 17:56:12    Parsing test results...
simple  17-Sep-2013 17:56:12    Finished task 'Maven 3.x'
simple  17-Sep-2013 17:56:12    Running post build plugin 'NCover Results Collector'
simple  17-Sep-2013 17:56:12    Running post build plugin 'Clover Results Collector'
simple  17-Sep-2013 17:56:12    Running post build plugin 'Artifact Copier'
simple  17-Sep-2013 17:56:12    Finalising the build...
simple  17-Sep-2013 17:56:12    Stopping timer.
simple  17-Sep-2013 17:56:12    Build CS-AND-JOB1-4 completed.

2 个答案:

答案 0 :(得分:3)

简而言之,您无法覆盖此行为,这就是Bamboo(和其他构建工具)的工作方式。

你应该做的是:

  1. 构建一次并将输出保存为可以在以后阶段使用的工件
  2. 通过从第一阶段检索工件来测试构建输出
  3. 部署到X环境
  4. 如果上述任何步骤失败,您不应该部署到环境中,失败阶段的目的是指出某些内容不正确,您应该修复损坏的测试或排除它们。

答案 1 :(得分:1)

我已经联系过atlassian支持,他们确认这是一个错误 - 阶段应该是独立的。他们正在调查这个问题。