我有一个使用Spring的项目。每次部署时,我都会运行maven目标“package”,它运行所有测试并创建war文件。然后我手动使用ftp程序将war文件复制到服务器。然后我运行一个bash脚本来关闭服务器,替换战争并再次启动服务器。
有时,当他们对数据库模式进行了更改时,我必须手动运行sql迁移脚本。
我可以使用更好的工作流程吗?由于项目的war文件为60MB,我不得不等待10-12分钟才能将其上传到服务器。如果我意识到需要改变一件小事,我必须重新完成整个过程。
这对我来说是双坏的,因为在DSL上,上传带宽会导致下载带宽,因此互联网完全无法运行。即使在项目上运行并运行maven目标也很慢,因为他们一直使用互联网连接来查找依赖项。
有更好的工作方式吗?感谢。
答案 0 :(得分:1)
首先,您可以使用Maven Deploy插件来避免手动ftp副本。 您可以在此URL上找到通过ftp部署项目的方法:
http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html
第二点是关于你的项目的问题:你的WAR大小是否正常?
我听说过嵌入多余jar的配置,以避免在构建最终jar时META-INF / spring.handlers覆盖的问题。如果您遇到这种情况,您可能也会对此感兴趣:
http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html