我正在使用Jenkins来编译,测试,打包和部署我的Play Framework应用程序。
玩Frameowrk版本:2.3.8(但2.2.3相同)
基本上有三个工作:测试,打包和部署。
实际上,有更多的第2步工作(如代码覆盖,检查式,......)
问题是,这个过程变得越来越慢(110多个Java文件/ 70个Scala(模板)文件),因此没有我希望的那样有用。整个过程的构建时间约为15分钟。
我发现,编译时间占用了大部分构建时间,并且作为每个构建步骤的一部分执行。
为了解决这个问题,我添加了一个新工作,它只是编译项目,将整个jenkins工作原理保存为工件并将其复制到其他工作。但是sbt继续在其他构建作业中重新编译整个项目。
我知道sbt使用了一些缓存文件夹,我使用以下sbt命令行选项更改了这些文件夹:
-Dsbt.log.noformat=true -Dsbt.global.base=project/.sbtboot -Dsbt.boot.directory=project/.boot -Dsbt.ivy.home=project/.ivy -Dsbt.global.staging=project/.staging
但是仍然会重新编译整个事情。
PS:当然,我在复制已编译的工作区时从sbt中删除了clean命令