我们的提交构建(Maven)不使用 clean。这使其速度大大加快。但有时我们会得到诸如移动或删除的测试类之类的东西,它们会保留并执行并且经常失败。
有没有办法以尝试重新运行构建但预先执行 mvn clean 或 clean 工作区的方式配置 Jenkins?
使用“在其他项目上触发参数化构建”构建后操作怎么样?
对于“要构建的项目”,使用“$JOB_NAME”,这将触发作业本身
对于“构建时触发”,从下拉列表中使用“失败”
然后单击“添加参数”并选择“当前构建参数
最后添加”预定义参数”,设置类似“REBUILD=TRUE”
现在您需要在 SVN 结帐之前执行的构建步骤
安装此插件:
https ://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep
现在,在作业配置中,在“构建环境”下,将勾选“在 SCM 运行之前运行构建步骤”。检查
然后添加“执行外壳”或“执行 Windows 批处理命令”的构建步骤,具体取决于您的操作系统。在该构建步骤中,再次根据您的 OS shell 选择,对变量“REBUILD”是否等于“TRUE”运行一个简单的检查。如果为真,则通过删除 shell 中的所有内容来清理工作区。如果需要,您可以更具体并仅删除 SVN 结帐文件夹。
我建议使用Retry-Failed-Builds-Plugin重新触发此类作业。
Retry-Failed-Build-Plugin 已弃用。Naginator Plugin 不会触发,除非它看起来是一个硬故障。至少它对我不起作用。您可能想尝试构建流程插件