Azure devops 基于多个构建之一的VSTS发布阶段条件

Azure devops 基于多个构建之一的VSTS发布阶段条件,azure-devops,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines Release Pipeline,首次尝试自动构建和连续部署,因此欢迎任何流程建议/改进 我有一个具有不同构建定义的存储库。以下各项各一个:数据库项目、api和web。(稍后将为etl/报告添加更多内容)每个生成都有一个过滤器,因此只有在特定路径中的代码发生更改时才会生成 目前,对于每个构建,我都有使用连续部署的单独版本。因此,当代码更改时,它会构建自动部署的。这是可行的,但由于依赖性,实际上并不实用 我想要做的是有一个包含所有构建工件的发布定义。然后,部署阶段只有在创建了特定的构建工件(该项目中的某些内容发生了更改)时才有条件

首次尝试自动构建和连续部署,因此欢迎任何流程建议/改进

我有一个具有不同构建定义的存储库。以下各项各一个:数据库项目、api和web。(稍后将为etl/报告添加更多内容)每个生成都有一个过滤器,因此只有在特定路径中的代码发生更改时才会生成

目前,对于每个构建,我都有使用连续部署的单独版本。因此,当代码更改时,它会构建自动部署的。这是可行的,但由于依赖性,实际上并不实用

我想要做的是有一个包含所有构建工件的发布定义。然后,部署阶段只有在创建了特定的构建工件(该项目中的某些内容发生了更改)时才有条件地运行。这样,所有的构建/发布不会每次都运行,而是在发生相关更改时绑定在一起

我正在尝试在部署阶段创建一个自定义条件,但似乎无法找到一种方法来实现这一点。我非常感谢你在这方面的帮助

我有一个具有不同构建定义的存储库。每人一份 以下内容:数据库项目、api和web。(稍后将添加更多内容。) 对于etl/报告),每个构建都有一个过滤器,因此它仅在代码 在特定的路径中,已更改

路径过滤器不适用于您的情况

如果你看到

他们的所有代码库都来自Windows和设备组(WDG),都集中在一个大型回购协议中。每个根文件夹都是一个独立的产品,与其他文件夹完全无关。(如Xbox、HoloLens、Windows操作系统等)

路径过滤器在这里是有意义的,因为如果我将代码推送到Xbox,我不希望也生成全息镜头代码。


Web/DB/API项目都需要一起构建、打包和部署。

我假设项目使用.NET堆栈

保持DB、Web和API项目在同一个解决方案中。创建一个构建解决方案的构建定义,并通过在步骤中添加多个发布构件来创建多个构件(dacpac、webdeploy软件包等)。

请参阅包含多个工件的构建的屏幕截图


将此构建中的工件链接到发布定义,您应该能够进行部署。

谢谢,我相信我考虑过了。我最初的意图是,如果只是一个简单的html更改,就不运行数据库发布或api。但我认为您的解决方案更干净,更易于将它们一起部署。