gpt4 book ai didi

msbuild - 将多个 Web 项目合并为一个输出 zip 包

转载 作者:行者123 更新时间:2023-12-02 00:58:33 25 4
gpt4 key购买 nike

我正在使用 Visual Studio Online 并致力于构建持续集成设置。我的场景要求将多个 Web 项目构建到单个 Azure 应用服务部署中。问题在于,当您创建新构建时“开箱即用”,Visual Studio Build 任务似乎为解决方案中的每个项目创建一个单独的 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 脚本或一些任务来在发布工件之前操作文件和文件夹。

  1. Extract Files $(build.artifactstagingdirectory)\*.zip$(build.artifactstagingdirectory)\Merged
  2. Archive Files $(build.artifactstagingdirectory)\Merged$(build.artifactstagingdirectory)\Merged.zip
  3. Delete Files我们使用最小匹配提取的:!/**/*.zip
  4. 更改您的 Azure 应用服务部署以查找:$(System.DefaultWorkingDirectory)/**/Merged.zip

https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts

关于msbuild - 将多个 Web 项目合并为一个输出 zip 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52377689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com