2

我想在maven中创建一个目标,将我的java webapp部署到生产tomcat 7实例。要做到这一点,最好的方法是什么?我希望有一个插件可以处理SFTP的战争并告诉tomcat重新加载。这个插件需要在发生问题时处理回滚,将更新后的静态文件上传到S3(重置它们的云端缓存),并可能同步数据库更新。通过maven部署到生产

这是否需要一个在Maven之外运行的脚本?或者,这种自动部署功能是否最适合用Ant来完成?

回答

0

您可以使用cargo-maven-plugin来实现此目的。它不会SFTP它可以直接远程部署到Tomcat。如果您需要sftp,您可以使用wagon-plugin来scp文件并通过货物插件重新启动Tomcat。静态文件可以由旅行车插件处理(但我不确定)。

此外,您不需要创建目标(这意味着您将编写一个插件)。

我会建议创建一个单独的maven项目,它对您想要部署到生产的war文件有依赖性。

+0

货物maven插件和其他tomcat插件的问题是它们上传到管理器的http PUT机制。这不允许以自动方式回滚。更不用说所有其他的小东西,我上面提到的其中一些小东西,随着部署的进行。 –

0

对于数据库更新部分,我建议使用Liquibase(它也处理回滚)。我还不知道如何进行部署回滚,但也许如果您使用Maven发布插件或任何其他发布管理方式,您可以手动部署以前的版本。

0

使用弹性beanstalk和maven beanstalk插件怎么样?