VSTS Drop Single Artifact - 发布到 Azure 多个网站

VSTS Drop Single Artifact - Release to Azure Multiple Websites

我有一个 Visual Studio 解决方案,它有多个网站项目。

我目前正在 运行 针对 1 个存储库构建 VSTS,它正在创建一个 drop.zip 工件,该工件生成了 3 个按 project/folder 名称分段的网站。

现在我想要 3 个发布定义,将每个相应的文件夹发布到 Azure 应用服务。

如何做到这一点?

在 Azure 应用服务发布步骤中,我只能指向一个 Zip 文件。我需要指向 Zip 文件里面的一个文件夹,对吗?

您可以为你们 3 个网站中的每一个创建一个 zip。将网站分别发布到构建管道中的 3 个不同的构建工件。

在发布定义中,将所有 3 个项目添加到项目部分,并将它们部署到各自的 Azure 应用服务。

它不一定是 zip 文件。就像屏幕截图中突出显示的部分一样。它可以是一个包文件或文件夹。

因此对于您的方案,您只需将 3 发布定义配置为 link 到同一个构建工件。然后在发布定义中添加两个任务:

  1. 提取文件任务 - 使用此任务提取 zip 文件
  2. A​​zure 应用服务部署任务 - 在此任务中,将“包或文件夹”路径设置为提取的项目文件夹。

我能够通过使用以下 MSBuild 配置实现此功能:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=false /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)" /p:DeployIisAppPath="Default Web Site" /p:Configuration=Release /p:Platform="Any CPU"

这为解决方案中的每个 Web 应用程序生成了一个单独的 Zip 文件。