我正在为我的应用程序编写构建脚本,并且想知道在test / prod环境中部署/发布的最佳实践是什么。
目前我所写的是
我知道这不是部署应用的最佳方式,并希望得到您的反馈。我理想的做法是
我很困惑这个第4步应该是在Jenkins还是在服务器上。我使用EC2实例来托管Web应用程序,因此我的图像需要有脚本。
答案 0 :(得分:5)
首先,您要混合构建和部署。我建议通过Maven进行建设。部署是一个不同的故事。
我的意思是制作通过Maven发布插件发布版本的工件,因为您提供的工件要测试和/或生成必须可重现的工件。
这些是在您的存储库管理器(Artifactory,Archiva,Nexus)中拥有它们之后产生工件的东西,下一步是将它们部署到适当的区域,如测试或生产。这可以通过Maven通过maven cargo plugin或tomcat plugin等或其他插件来实现。 但我建议通过木偶,厨师等不同的东西来做这件事,或者可以通过家庭brewn scipts / tools。脚本可以通过Jenkins运行而没有问题(应该不是问题)。部署本身不应该是应该单独制作的建筑物的一部分。如果您正在编写自己的工具,可以查看Aether library以便更轻松地访问Maven存储库。
答案 1 :(得分:5)
在组织方面,您正在混合构建和部署,复制......
你应该:
HIH 微米。