Asp.net core 如何配置Azure Dev Ops以基于分支将代码发布到Azure?

Asp.net core 如何配置Azure Dev Ops以基于分支将代码发布到Azure?,asp.net-core,azure-devops,Asp.net Core,Azure Devops,我最近开始使用Azure Dev Ops来管理我的ASP.NET核心Web应用程序的代码。我遵循了Microsoft在线指南来设置Azure开发人员操作,但是,这些教程是基本的,并且假设您总是通过管道推动生产。在我的组织中,情况并非如此,我正在寻找一些关于我的流程以及如何实现的指导和澄清 我的场景 我的项目有两个分支master和staging。staging分支机构拥有我正在开发的所有功能,这些功能需要由我所在组织中的选定用户进行测试,一旦这些功能被测试,它们将合并到主分支机构中并推送到生产部

我最近开始使用Azure Dev Ops来管理我的ASP.NET核心Web应用程序的代码。我遵循了Microsoft在线指南来设置Azure开发人员操作,但是,这些教程是基本的,并且假设您总是通过管道推动生产。在我的组织中,情况并非如此,我正在寻找一些关于我的流程以及如何实现的指导和澄清

我的场景

我的项目有两个分支
master
staging
staging
分支机构拥有我正在开发的所有功能,这些功能需要由我所在组织中的选定用户进行测试,一旦这些功能被测试,它们将合并到主分支机构中并推送到生产部门使用

到目前为止我做了什么?

  • 我已经为CI/CD创建了一个管道,每次同步
    主分支时都会生成和发布该管道
  • 我已经在我的Azure web应用程序上创建了插槽,一个用于
    生产
    ,一个用于
    登台
我需要什么帮助?

  • 我需要了解如何将对我的
    staging
    分支所做的更改部署到Azure中的web应用
    staging
    插槽,以便人们可以测试新功能
  • 如何使用这些我见过的分支过滤器
  • 使用过滤器或触发器更好吗
我知道什么?

  • 我看到有一些标签和过滤器可以使用,但我不知道它们如何应用于我需要实现的目标
  • 我试图在我的版本中放置一个阶段,将项目推到我的web应用程序中的阶段,问题是它始终是主分支,我不想在主分支上发布测试功能


我相信这是一个简单的设置,但我正在努力让它锁定。如果有任何帮助,我们将不胜感激。

使用单独的管道,该管道会在分支更改时触发。

使用单独的管道,该管道会在分支更改时触发。

尝试添加另一个CI管道来构建暂存分支,这样您就可以为要构建的每个分支都有一个CI管道。这使得tdd更加容易,如果需要,还可以执行其他生产步骤。在CD管道上,您还可以为每个分支创建管道,您可以选择每个CI管道的工件,并为响应分支添加部署触发器。是的,您需要单独的CI/CD管道。然而,FWIW,无论如何,这里不应该有单独的分支。主分支是您的部署分支,拥有暂存分支毫无意义,因为暂存不会告诉您主分支在部署时将要做什么。您应该将master部署到暂存环境,验证它是否正常工作,然后将master部署到生产环境。尝试添加另一个CI管道来构建暂存分支,以便为要构建的每个分支都有一个CI管道。这使得tdd更加容易,如果需要,还可以执行其他生产步骤。在CD管道上,您还可以为每个分支创建管道,您可以选择每个CI管道的工件,并为响应分支添加部署触发器。是的,您需要单独的CI/CD管道。然而,FWIW,无论如何,这里不应该有单独的分支。主分支是您的部署分支,拥有暂存分支毫无意义,因为暂存不会告诉您主分支在部署时将要做什么。您应该将master部署到登台环境,验证它是否工作,然后将master部署到生产环境。