在 Maven 中构建,无需清理

rip*_*234 3 continuous-integration build-process maven-2 maven

当我们在不执行 Maven 项目的情况下构建 Maven 项目时mvn clean,有时会遇到“巫术错误”,例如 NoSuchMethodError。我相信这些是由移动/重命名文件引起的。

我不想在 CI 中使用 clean 选项,因为它会使构建过程花费更长的时间。还有其他选择吗?

Sea*_*oyd 5

您应该始终在 CI 构建中使用 clean。CI 构建必须是可重复的,这需要从头开始!

关于这个过程需要更长的时间:使用 CI(众多 CI 之一)的全部意义在于,您可以在它运行时继续工作,所以这应该不是问题。

但我喜欢做的是每个项目使用多层 CI:

  • 第一个作业编译并执行一些基本测试*,此构建应该花费不到 5 分钟
  • 如果成功,第二个作业将执行所有测试*、代码指标、javadocs 等
  • 如果成功,第三个作业会将构建部署到测试服务器

(或者你可以让第一个作业同时触发第二个和第三个作业)

* 您可以通过根据每个配置文件不同地配置 Maven Surefire 插件来实现一些测试/所有测试功能)