我们的提交构建(Maven)不使用clean。这使它更快。但偶尔我们会得到像被移动或删除的Test类这样的东西,它们会一直存在并且执行并经常失败。
有没有办法以尝试重新运行构建但是预先执行mvn clean或clean工作区的方式配置Jenkins?
答案 0 :(得分:4)
如何在构建后操作中使用“触发参数化构建在其他项目上”?
对于“要构建的项目”,请使用“$ JOB_NAME”,这将触发作业本身
对于“构建时触发”,从下拉列表中使用“失败”
然后单击“添加参数”并选择“当前构建参数
”
最后添加“预定义参数”,设置类似“REBUILD = TRUE”
现在您需要一个在SVN结账前执行的构建步骤
安装此插件:
https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep
现在,在作业配置中,在“构建环境”下,将有一个“在SCM运行之前运行buildstep”的复选标记。检查
然后根据您的操作系统添加“执行shell”或“执行Windows批处理命令”的构建步骤。在该构建步骤中,再次根据您的OS shell选项,对变量“REBUILD”等于“TRUE”进行简单检查。如果为true,则通过删除那里的所有内容来清理shell中的工作区。您可以更具体,并在需要时仅删除SVN结帐文件夹。
答案 1 :(得分:0)
我建议使用Retry-Failed-Builds-Plugin重新启动此类工作。
答案 2 :(得分:0)
不推荐使用Retry-Failed-Build-Plugin。 Naginator插件不会触发,除非它看起来很难。它至少对我不起作用。您可能想尝试Build Flow Plugin