我们正在使用Jenkins和SBT来构建,测试和部署我们的应用程序。我看到人们使用的所有地方"清洁"命令之前"测试"或者"阶段"这导致很长的编译时间。
是否有必要清理每个构建的所有内容?使用增量编译器进行生产构建的风险是什么?
答案 0 :(得分:2)
如果sbt
的构建脚本和/或命令行没有更改,则不必执行clean
。
我已经使用Spark
好几年了 - 它是你能找到的最复杂的sbt构建之一。只要构建过程本身(如项目/ sbt构建工件和sbt命令行中所体现的)与先前的运行相同,它就可以避免执行clean
。
答案 1 :(得分:2)
我认为这是一个品味问题。对于持续集成构建,可以依赖增量编译器;如果出现问题,我可以很快调查。
但是,无论出于什么原因,增量编译器决定忽略某些更改(并且在开发中已经发生了这种情况),您可能会遇到一些难以解决的问题。
所以,如果你想要一个可以通过新的代码检查重现的东西;只是在其他一切之前运行“干净”。
大多数情况下,我为jenkins配置了两个构建任务:测试构建,由代码更改触发,以及针对部署和定期触发的打包构建(或在某些情况下手动自动部署)。