我正在使用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中实现的场景,可能是使用不同的命令代码集吗?
听起来你需要一个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