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