在继续集成服务器上应用怎么的 mvn 命令集成我的项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比拟好的集成命令会略微简单些,上面是一些总结:

不要忘了clean: clean可能保障上一次构建的输入不会影响到本次构建。
应用deploy而不是install: 构建的SNAPSHOT输入该当被主动部署到公有Maven仓库供别人应用,这一点在后面曾经具体阐述。
应用-U参数: 该参数能强制让Maven查看所有SNAPSHOT依赖更新,确保集成基于最新的状态,如果没有该参数,Maven默认以天为单位查看更新,而继续集成的频率应该比这高很多。
应用-e参数:如果构建出现异常,该参数能让Maven打印残缺的stack trace,以不便剖析谬误起因。
应用-Dmaven.repo.local参数:如果继续集成服务器有很多工作,每个工作都会应用本地仓库,下载依赖至本地仓库,为了防止这种多线程应用本地仓库可能会引起的抵触,能够应用-Dmaven.repo.local=/home/juven/ci/foo-repo/这样的参数为每个任务分配本地仓库。
应用-B参数:该参数示意让Maven应用批处理模式构建我的项目,可能防止一些须要人工参加交互而造成的挂起状态。
综上,继续集成服务器上的集成命令应该为 mvn clean deploy -B -e -U -Dmaven.repo.local=xxx 。此外,定期清理继续集成服务器的本地Maven仓库也是个很好的习惯,这样能够避免浪费磁盘资源,简直所有的继续集成服务器软件都反对本地的脚本工作,你能够写一行简略的shell或bat脚本,而后配置以天为单位主动清理仓库。须要留神的是,这么做的前提是你有公有Maven仓库,否则每次都从Internet下载所有依赖会是一场噩梦。