使用Spring和Maven时,将代码部署到服务器的最佳方法是什么?

时间:2010-12-02 17:52:02

标签: java spring deployment maven

我有一个使用Spring的项目。每次部署时,我都会运行maven目标“package”,它运行所有测试并创建war文件。然后我手动使用ftp程序将war文件复制到服务器。然后我运行一个bash脚本来关闭服务器,替换战争并再次启动服务器。

有时,当他们对数据库模式进行了更改时,我必须手动运行sql迁移脚本。

我可以使用更好的工作流程吗?由于项目的war文件为60MB,我不得不等待10-12分钟才能将其上传到服务器。如果我意识到需要改变一件小事,我必须重新完成整个过程。

这对我来说是双坏的,因为在DSL上,上传带宽会导致下载带宽,因此互联网完全无法运行。即使在项目上运行并运行maven目标也很慢,因为他们一直使用互联网连接来查找依赖项。

有更好的工作方式吗?感谢。

1 个答案:

答案 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