我正在为我的应用程序编写构建脚本,并且想知道在test/prod环境中部署/发布的最佳实践是什么.
目前我所写的是
- 使用ssh停止tomcat服务器.
- 使用Maven建立战争
- 使用ssh从tomcat webapps目录中删除战争
- 使用ssh将构建的文件传输到tomcat上的webapps目录
- 启动服务器
我知道它不是部署应用程序的最佳方式,并希望得到您的反馈.我理想的做法是
- 为prod env执行maven发布.如果可能,最多为修订号.
- 标记代码.
- 将已发布的战争上传到包含所有战争及其历史记录的S3文件夹.
- 在将从S3下载文件的服务器/ Jenkins上编写脚本(版本号,如果提供最新的版本)并部署到tomcat.
我很困惑这个步骤4应该是在Jenkins还是在服务器上.我正在使用EC2实例来托管Web应用程序,因此我的图像需要有脚本.