Azure pipelines VSTS发布管理;许多发布目标

Azure pipelines VSTS发布管理;许多发布目标,azure-pipelines,ms-release-management,azure-pipelines-release-pipeline,Azure Pipelines,Ms Release Management,Azure Pipelines Release Pipeline,我有一个包含8个web项目和12个可执行文件的解决方案,它们都是紧密耦合的,因为它们之间共享了很多业务库;我们在VST中对整个解决方案有一个构建定义,但有20个不同的版本定义 我们有用于开发/质量保证/预生产/生产的单一环境,足够多的并发活动开发,以及管理限制,使得向上移动所有环境模型的单一更改对我们来说不太合适;一个开发和质量保证测试,稍后将转移到针对候选版本的夜间合成构建 在我看来,我们希望有两套发布定义(一套开发&一套质量保证,以及一套用户通过生产接受的定义),但如果遵循这个模型,我们最终

我有一个包含8个web项目和12个可执行文件的解决方案,它们都是紧密耦合的,因为它们之间共享了很多业务库;我们在VST中对整个解决方案有一个构建定义,但有20个不同的版本定义

我们有用于开发/质量保证/预生产/生产的单一环境,足够多的并发活动开发,以及管理限制,使得向上移动所有环境模型的单一更改对我们来说不太合适;一个开发和质量保证测试,稍后将转移到针对候选版本的夜间合成构建

在我看来,我们希望有两套发布定义(一套开发&一套质量保证,以及一套用户通过生产接受的定义),但如果遵循这个模型,我们最终会有40个发布定义。我错过什么了吗?我们对EXE有单独的定义,因为我们不希望一个版本的失败影响到另一个版本的失败,而且因为它们都是单独目录的单独有效负载,看起来它们都应该是不同的


每个可部署项目1个发布def的模式是否正确,如果是夜间构建,两组所有可部署的版本定义是否正确?

如果您有某种微服务模式,您应该始终致力于让一个版本定义一次在一个环境中部署整个应用程序,或者至少一次部署整个子系统。 当面临高度耦合的依赖项时,您不希望必须触发多个版本。这可能会在循环中引入很多错误,或者至少会带来复杂性。
对于每个环境,该定义也可以多次具有相同的序列。

如果您有某种微服务模式,您应该始终将目标放在一个发布定义上,即一次在一个环境上部署整个应用程序,或者至少一次部署整个子系统。 当面临高度耦合的依赖项时,您不希望必须触发多个版本。这可能会在循环中引入很多错误,或者至少会带来复杂性。
对于每个环境,该定义也可以多次使用相同的序列。

我很好奇您对“整个应用程序”的定义是什么。作为一个简化的示例,我们有一个服务层和3个用户界面,一个是公共客户,一个是内部用户,另一个是业务合作伙伴。它们都与服务层通信,但3个UI都是不同的应用程序。事实上,这正是划清界限的困难所在。当我必须做出这样的决定时,我主要做两件事:一个依赖关系图,以确定如果两个部分不在同一级别上,会发生什么情况。这主要是硬限制。然后,我在灵活性和简单性之间做出决定:我是否需要这两个部分来分别发货?回答这些问题有助于我确定哪部分将作为整体或单独装运。我很好奇你对“整个应用程序”的定义是什么。作为一个简化的示例,我们有一个服务层和3个用户界面,一个是公共客户,一个是内部用户,另一个是业务合作伙伴。它们都与服务层通信,但3个UI都是不同的应用程序。事实上,这正是划清界限的困难所在。当我必须做出这样的决定时,我主要做两件事:一个依赖关系图,以确定如果两个部分不在同一级别上,会发生什么情况。这主要是硬限制。然后,我在灵活性和简单性之间做出决定:我是否需要这两个部分来分别发货?回答这些问题有助于我确定哪部分将作为整体或单独装运。希望有帮助