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 到同一个构建工件。然后在发布定义中添加两个任务:
- 提取文件任务 - 使用此任务提取 zip 文件
- Azure 应用服务部署任务 - 在此任务中,将“包或文件夹”路径设置为提取的项目文件夹。
我能够通过使用以下 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 文件。
我有一个 Visual Studio 解决方案,它有多个网站项目。
我目前正在 运行 针对 1 个存储库构建 VSTS,它正在创建一个 drop.zip
工件,该工件生成了 3 个按 project/folder 名称分段的网站。
现在我想要 3 个发布定义,将每个相应的文件夹发布到 Azure 应用服务。
如何做到这一点?
在 Azure 应用服务发布步骤中,我只能指向一个 Zip 文件。我需要指向 Zip 文件里面的一个文件夹,对吗?
您可以为你们 3 个网站中的每一个创建一个 zip。将网站分别发布到构建管道中的 3 个不同的构建工件。
在发布定义中,将所有 3 个项目添加到项目部分,并将它们部署到各自的 Azure 应用服务。
它不一定是 zip 文件。就像屏幕截图中突出显示的部分一样。它可以是一个包文件或文件夹。
因此对于您的方案,您只需将 3 发布定义配置为 link 到同一个构建工件。然后在发布定义中添加两个任务:
- 提取文件任务 - 使用此任务提取 zip 文件
- Azure 应用服务部署任务 - 在此任务中,将“包或文件夹”路径设置为提取的项目文件夹。
我能够通过使用以下 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 文件。