将多个 Web 项目合并为一个输出 zip 包
Merge multiple web projects into a single output zip package
我正在使用 Visual Studio 在线并通过构建持续集成设置来工作。我的场景要求将多个 Web 项目构建到单个 Azure 应用服务部署中。问题是 "out of the box" 当您创建新构建时,Visual Studio 构建任务似乎为解决方案中的每个项目创建一个单独的 zip 文件,然后 Azure App Service Deploy 任务抛出错误提示匹配模式的文件不止一个,即*.zip。
我想做的是将所有这些项目构建到一个位置,将各种项目合并在一起,然后 Azure App Service Deploy 只需要推送一个 zip 文件,我知道它可以做得很好。 Visual Studio 构建任务的 MSBuild 参数是 /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\"
。我尝试删除 PackageAsSingleFile
属性,但它仍然创建了 zip 文件。
我想在 VSO 中实现的场景是否可行,也许使用一组不同的命令代码?
听起来您需要一个 PowerShell 脚本或一些任务来在发布工件之前操作文件和文件夹。
- Extract Files
$(build.artifactstagingdirectory)\*.zip
到 $(build.artifactstagingdirectory)\Merged
- Archive Files
$(build.artifactstagingdirectory)\Merged
到 $(build.artifactstagingdirectory)\Merged.zip
- Delete Files 我们使用最小匹配提取:
!/**/*.zip
- 更改您的 Azure 应用服务部署以查找:
$(System.DefaultWorkingDirectory)/**/Merged.zip
https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts
我正在使用 Visual Studio 在线并通过构建持续集成设置来工作。我的场景要求将多个 Web 项目构建到单个 Azure 应用服务部署中。问题是 "out of the box" 当您创建新构建时,Visual Studio 构建任务似乎为解决方案中的每个项目创建一个单独的 zip 文件,然后 Azure App Service Deploy 任务抛出错误提示匹配模式的文件不止一个,即*.zip。
我想做的是将所有这些项目构建到一个位置,将各种项目合并在一起,然后 Azure App Service Deploy 只需要推送一个 zip 文件,我知道它可以做得很好。 Visual Studio 构建任务的 MSBuild 参数是 /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\"
。我尝试删除 PackageAsSingleFile
属性,但它仍然创建了 zip 文件。
我想在 VSO 中实现的场景是否可行,也许使用一组不同的命令代码?
听起来您需要一个 PowerShell 脚本或一些任务来在发布工件之前操作文件和文件夹。
- Extract Files
$(build.artifactstagingdirectory)\*.zip
到$(build.artifactstagingdirectory)\Merged
- Archive Files
$(build.artifactstagingdirectory)\Merged
到$(build.artifactstagingdirectory)\Merged.zip
- Delete Files 我们使用最小匹配提取:
!/**/*.zip
- 更改您的 Azure 应用服务部署以查找:
$(System.DefaultWorkingDirectory)/**/Merged.zip
https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts