2

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

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

4

3 回答 3

0

您可以使用cargo-maven-plugin来实现这一点。它不会 SFTP 它可以直接远程部署到 Tomcat。如果您需要 sftp,您可以使用 wagon-plugin 来 scp 文件并通过 cargo-plugin 重新启动 Tomcat。静态文件可以由 wagon-plugin 处理(但我当时不确定)。

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

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

于 2011-08-10T15:05:04.717 回答
0

使用 elastic beanstalk 和 maven beanstalk 插件怎么样?

于 2012-05-15T07:51:30.343 回答
0

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

于 2011-12-08T10:13:12.653 回答