关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
3年前关闭。
Improve this question
目前,由于系统具有许多依赖关系,我们正在将整个应用程序链部署在一起并立即部署到生产环境中。
我们的 Scrum 团队基于业务主题,以确保每个 Sprint 结束时的每个用户故事都有真正的商业值(value),因此经常发生用户故事需要在多个应用程序中进行更改的情况。
我们有几个 Scrum 团队,在相同的系统上工作。从逻辑上讲,我们最终会在一个巨大的验收和(半自动化)回归测试中对所有内容进行验收测试。
但是将大爆炸部署到生产非常耗时,容易出错并且不再可扩展......(或者是吗?)通过持续部署,我们希望使团队能够自助服务部署到生产,所以业务在需要时推出功能,而不是基于 IT 计划。
但是我们如何设法推出分布在多个代码库上的更改(代码、DB 脚本)并找到一种策略来处理应用程序之间的依赖关系?
拥有可扩展持续部署的策略是什么?你如何过渡到这一点?
你怎么认为?
最佳答案
没有单一的 Elixir 可以解决您的问题,但 Kwatee ( http://www.kwatee.net ) 可以朝着正确的方向走很长的路。如果需要,Kwatee 可以处理多个服务器上的分布式/协作应用程序,并且可以使用部署前和部署后操作来处理触发先决条件的 DB ugrade 脚本等。您还可以为各种部署环境(开发、测试、生产)配置参数。 Kwatee 有一个 Web 界面,它使配置变得简单,但通过将它(通过 python CLI 命令或 Ant 任务)包含在一个持续集成工具中,您可以获得所有领域中最好的。
关于deployment - 如何持续部署由多个应用程序组成的大型系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214884/