我想在maven中创建一个目标,将我的java webapp部署到生产tomcat 7实例。这样做的最佳方法是什么?我希望有一个插件可以处理SFTP战争并告诉tomcat重新加载。此插件需要在出现问题时处理回滚,将更新的静态文件上载到S3(为其重置云端缓存)以及可能同步数据库更新。
这是否要求在Maven之外运行脚本?或者这种自动部署功能最好用Ant实现吗?
答案 0 :(得分:0)
您可以使用cargo-maven-plugin来实现此目的。它不会SFTP它可以直接远程部署到Tomcat。如果你需要sftp你可以使用wagon-plugin scp文件并通过cargo-plugin重启Tomcat。静态文件可以由wagon-plugin处理(但我当时不确定)。
此外,您不需要创建目标(这意味着您将编写插件)。
我建议创建一个单独的maven项目,该项目依赖于您要部署到生产的war文件。
答案 1 :(得分:0)
对于数据库更新部分,我建议使用Liquibase(它也处理回滚)。我还不知道你将如何进行部署回滚,但也许如果你正在使用maven发布插件或任何其他发布管理方式,你可以手动部署以前的版本。
答案 2 :(得分:0)
如何使用弹性beanstalk和maven beanstalk插件?