VSTS发布管理 - 共享公共环境的多个发布定义

3
我试图理清我在发布管理中遇到的问题 - 我已经在其他自动化部署工具(例如uDeploy)中看到了解决方案,但想知道是否可以在VSTS RM中处理这个问题。
以下是我的情况:
我希望为我的应用程序中的多个(10+)Windows服务组件以及一个UI组件自动化部署。
所有构建工件都使用单个TFS生成定义构建。
按照微服务架构,客户非常希望有能力在每个发布版本基础上将某些或全部组件部署到生产环境中,并保留未受影响的服务。
创建10+ Release Definitions,每个组件一个似乎很疯狂,特别是由于环境配置将在定义之间重复。
但同时,如果我使用一个定义,如何使部署的组件可配置?
为每个组件创建任务,在一个定义下启用/禁用每个发布的任务?在这种情况下,我将不断更新Release Definition?
每个组件都有一个“环境”?只部署到我想要部署的“组件环境”?
对此有任何建议吗?非常感谢。
提前致谢。
1个回答

2
您有多种有效的方法。 如果您的组件彼此真正独立,并且只有在源更改时才想构建(和部署)它们,则拆分构建定义和发布定义更有意义。 (将每个组件视为具有自己的发布管道)
或者,如果您的组件具有某种依赖关系,则一次性部署所有Web组件,例如一次性部署所有后端将更有意义。然后,每个角色较少的构建定义和发布定义更有意义。 (并允许您微调触发)
最后,如果您的组件高度相互依赖,则使用环境和预部署批准的唯一构建定义和发布定义更有意义
我想强调的是,您拥有的构建定义和发布定义越多,您就拥有的选择越多。
专注于每个组件的本质(它是什么,工作负载位于何处),相互依存以及谁有权批准通常会得出答案。
另外,即使环境在技术上可以帮助您实现所需的功能,但据我了解,它们的目的是在构建推广流程中体现“qa”,“staging”和“production”。 (与源推广相对)
希望这可以帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接