Azure devops VSTS部署到多个应用程序服务

Azure devops VSTS部署到多个应用程序服务,azure-devops,azure-pipelines,ms-release-management,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Ms Release Management,Azure Pipelines Release Pipeline,我正在使用VSTS和TFS存储库来承载我的代码。该解决方案是一个Asp.Net核心解决方案,包含两个项目。我在解决方案中有两个项目用于不同的应用程序服务——一个将部署到Web应用程序,另一个部署到API应用程序 问题是如何配置部署这些工件的单个构建定义/发布定义。目前,我有两个定义-每个定义一个,我想有一个。我如何配置这个 您可以为这些项目(包位置的相对路径,如。\..\a\WebApp)创建具有相同名称的发布配置文件(右键单击项目=>publish)。通过这种方式,web应用发布的结果将位于不

我正在使用VSTS和TFS存储库来承载我的代码。该解决方案是一个Asp.Net核心解决方案,包含两个项目。我在解决方案中有两个项目用于不同的应用程序服务——一个将部署到Web应用程序,另一个部署到API应用程序

问题是如何配置部署这些工件的单个构建定义/发布定义。目前,我有两个定义-每个定义一个,我想有一个。我如何配置这个

  • 您可以为这些项目(包位置的相对路径,如
    。\..\a\WebApp
    )创建具有相同名称的发布配置文件(右键单击项目=>publish)。通过这种方式,web应用发布的结果将位于不同的文件夹中
  • 指定Visual Studio生成任务的MSBuild参数如下:
    /p:skipinValidConfiguration=true/p:DeployOnBuild=true/p:PublishProfile=“[profile name]”
  • 添加发布生成工件以发布这些web应用发布的结果(例如,发布路径:
    $(Build.artifactstagingdirectory)
  • 创建新的发布定义
  • 添加两个部署应用程序任务(例如Azure应用程序服务部署)
  • 指定要部署的相应包
  • 更新:

    使用多个发布任务发布每个包也可以(不需要发布配置文件)

  • 从“ASP.NET核心(.NET框架)”构建模板开始。默认情况下,将为解决方案中的所有功能应用程序创建一个包
  • 修改生成解决方案任务msbuild参数,以便为每个函数应用程序项目创建一个包

    来自
    /p:DeployOnBuild=true/p:WebPublishMethod=Package/p:SkipInvalidConfigurations=true/p:packageassingfile=true/p:DesktopBuildPackageLocation=“$(build.artifactstagindirectory)\WebApp.zip”/p:deployiisappath=“默认网站”


    /p:DeployOnBuild=true/p:WebPublishMethod=Package/p:SkipInvalidConfiguration=true/p:DesktopBuildPackageLocation=“$(build.artifactstagingdirectory)”/p:DeployIisAppPath=“默认网站”

  • 运行构建并查看发布工件,您应该会在包中看到多个zip文件,每个函数应用程序对应一个

  • 现在,对于要部署的每个功能应用程序,将“部署Azure应用程序服务”任务添加到发布定义中

  • 将“部署Azure应用程序服务”任务、包或文件夹更新到:
    $(System.ArtifactsDirectory)/**/Your.Project.FunctionApp.zip


  • 谢谢,听起来很有希望。让我看看,然后再回来。@NitinRastogi可以在这里随意发布结果。谢谢@starain MSFT-我能够根据上述提示完成功能。我必须在构建定义中使用两个发布任务,每个任务生成自己的命名包。然后在发布定义中,部署到Azure应用程序服务的两个任务。我不必执行第1步和第2步,而是遵循其余步骤。您想更新答案吗?因为我认为不需要1和2,只需要两个发布任务?。我将把你的回答作为一个完整的答案。