VSTS版本管理 - 共享公共环境的多版本定义

时间:2016-08-09 21:48:55

标签: tfs ms-release-management automated-deploy azure-pipelines-release-pipeline

我正试图解决我在发布管理方面遇到的问题 - 我似乎已经在其他自动部署工具(如uDeploy)中找到了解决方案,但我想知道它是否可以在VSTS RM中处理。

这是我的情况:

我想在我的应用程序中添加几个(10+)Windows服务组件以及UI组件。

所有工件都是使用单个TFS构建定义构建的。

根据微服务架构,客户非常感谢按发布版部署部分或全部组件的能力,并保持不受影响的服务不受影响。

创建10 +版本定义,每个组件一个看起来很疯狂,特别是因为环境配置将在不同的定义中重复。

但与此同时,如果我使用单一定义,我如何才能使部署的组件可配置?

在一个定义下为每个组件创建任务,并为每个版本启用/禁用该任务?在这种情况下,我将不得不不断更新发布定义?

每个组件的'环境'?并且只部署到我希望部署的“组件环境”?

对此有任何建议都很有必要。

提前致谢。

1 个答案:

答案 0 :(得分:2)

这里有多种有效的方法。 您的组件实际上是彼此独立的,并且您希望仅在源已更改时构建(和部署)它们,因此拆分构建定义和发布定义更有意义 。 (把它想象成每个组件都有它自己的发布管道)

您的组件具有某种依赖性,并且更有意义的是一次部署所有Web组件,所有后端一次性用于例如。然后每个角色更少的构建定义和发布定义更有意义。 (并允许你微调触发)

最后,如果您的组件具有高度的相互依赖性,那么使用环境和部署前批准的唯一构建定义和版本定义会更有意义。

我想在此强调的是,您拥有的构建定义和版本定义越多,您拥有的选项就越多。
关注每个组件的本质(它做什么,工作负载位于何处),相互依赖,以及谁来批准通常答案在此之后出现的内容。

即使环境在技术上可以帮助你实现你想要做的事情,但据我所知,它们意味着在构建推广流程中实现诸如“qa”,“staging”和“production”之类的东西。 (vs来源推广)

希望有所帮助。