我正在使用Visual Studio Online,并正在构建一个持续集成设置。我遇到的情况要求将多个Web项目构建到单个Azure App Service部署中。问题在于,当您创建新的生成时,“开箱即用”,Visual Studio生成任务似乎为解决方案中的每个项目创建了一个单独的zip文件,然后Azure App Service Deploy任务引发错误,指出存在多个与模式匹配的文件,即* .zip。
我想做的是将所有这些项目构建到一个位置,将各个项目合并在一起,然后Azure App Service Deploy仅具有一个要推送的zip文件,我知道它可以做到精细。我对Visual Studio Build任务的MSBuild参数为/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
。我尝试删除PackageAsSingleFile
属性,但仍然创建了zip文件。
我想在VSO中实现这种情况吗,也许使用不同的命令代码集?
答案 0 :(得分:1)
听起来像您需要PowerShell脚本或一些任务,以便在发布工件之前操纵文件和文件夹。
$(build.artifactstagingdirectory)\*.zip
至$(build.artifactstagingdirectory)\Merged
$(build.artifactstagingdirectory)\Merged
至$(build.artifactstagingdirectory)\Merged.zip
!/**/*.zip
$(System.DefaultWorkingDirectory)/**/Merged.zip
https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts