VSTS删除单个工件-发布到Azure多个网站

时间:2018-09-05 13:22:19

标签: azure deployment continuous-integration azure-devops continuous-deployment

我有一个Visual Studio解决方案,其中包含多个网站项目。

我目前正在VSTS中针对1个存储库运行构建,该存储库正在创建drop.zip工件,该工件已按项目/文件夹名称划分了3个网站。

现在我想拥有3个发布定义,这些发布定义将各个文件夹发布到Azure App Service。

这怎么办?

在Azure App Service发布步骤中,我只能指向一个Zip文件。我需要指向Zip文件中的文件夹,对吗?

enter image description here

3 个答案:

答案 0 :(得分:0)

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

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

Build Artifacts

答案 1 :(得分:0)

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

因此对于您的方案,您只需要配置3版本定义以链接到相同的构建工件。然后在发布定义中添加两个任务:

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

答案 2 :(得分:0)

我可以通过使用以下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文件。