Azure devops 如何在VST上创建通用构建和发布

Azure devops 如何在VST上创建通用构建和发布,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,在采用微服务体系结构时,我们发现我们有许多具有非常相同结构的项目 .Net和.Net核心项目更为具体,其中大多数发布为Azure应用程序服务(Web应用程序) 今天,我们必须为每个项目/应用程序配置构建定义和发布定义 是否有一种方法可以只包含一个生成定义和一个发布定义,这些定义可以由任何签入触发,生成特定项目并创建发布到特定应用程序服务的发布 谢谢是的,有可能。您可以使用构建和发布定义分别构建/部署不同类型的项目 假设您在git回购中有两个项目: root |___ .git

在采用微服务体系结构时,我们发现我们有许多具有非常相同结构的项目

.Net和.Net核心项目更为具体,其中大多数发布为Azure应用程序服务(Web应用程序)

今天,我们必须为每个项目/应用程序配置构建定义和发布定义

是否有一种方法可以只包含一个生成定义和一个发布定义,这些定义可以由任何签入触发,生成特定项目并创建发布到特定应用程序服务的发布


谢谢

是的,有可能。您可以使用构建和发布定义分别构建/部署不同类型的项目

假设您在git回购中有两个项目:

root
  |___ .git      
  |___ dotnetProject
             |___ dotnetProject.sln
             |___ dotnetProject
                       |___ dotnetProject.csproj
                       |___ …
  |___ dotnetCoreProject
             |___ dotnetCoreProject.sln
             |___ dotnetCoreProject
                       |___ dotnetCoreProject.csproj
                       |___ …
详细设置如下:

  • 在生成和发布定义中添加为项目生成和部署所需的所有任务
  • 在构建和发布定义中分别使用默认值
    0
    定义两个变量
    dotnet
    dotnetCore
  • 为需要为不同类型的项目生成/部署的任务设置自定义条件

    • 对于要为.NET项目生成/部署的任务,请使用以下自定义条件:
    • 对于要为.NET Core项目生成/部署的任务,请使用以下自定义条件:
  • 通过添加PowerShell任务检测为CI生成更改了哪些项目

    在任务的开头添加PowerShell任务,并检查上次提交时已更改的文件。如果.NET项目已更改,请使用值
    1
    设置
    dotnet
    变量,并使用内容
    1
    创建一个文件
    dotnet
    。如果.NET core项目已更改,请使用值
    1
    设置变量
    dotnetCore
    ,并使用内容
    1
    创建一个文件
    dotnetCore

    注意:您还应该将文件
    dotnet
    dotnetCore
    发布为构建工件,因为您应该基于文件解析发布定义中
    dotnet
    dotnetCore
    变量的值

  • 根据文件
    dotnet
    dotnetCore
    更改
    dotnet
    dotnetCore
    的变量值

    在发布定义的开头,添加PowerShell任务。检查文件
    dotnet
    /
    dotnetCore
    是否在生成构件中。如果有,根据文件内容更改相关变量


  • 嗨,玛丽安娜!非常有趣。但在这种情况下,我希望在团队项目中只使用一个构建定义构建任何项目,并使用一个发布定义部署任何应用程序服务,并且该发布定义必须能够识别生成的工件,并将它们发布到正确的应用程序服务。可能吗?可能正在使用示例中的变量?谢谢,这个例子可以做到这一点。您只需添加多个具有不同自定义条件的Azure应用程序服务部署任务。只有满足自定义条件,任务才会运行。