Azure DevOps发布管道部署Angular应用至App Service报错:找不到Zip包
解决Azure DevOps发布管道找不到zip包的问题
方案1:调整发布任务的路径配置
你的构建任务发布的是dist目录的文件夹构件,但发布任务默认在找zip包,所以直接修改发布任务里的包或文件夹字段,指向构件里的dist目录就行。比如用$(System.ArtifactsDirectory)/**/dist,如果构件有指定名称(比如叫angular-build),就改成$(System.ArtifactsDirectory)/angular-build/dist,不用再找zip格式的文件。
方案2:修改构建YAML,把dist打包成zip再发布
如果想通过zip包部署,就在构建YAML里加个打包步骤,把dist目录压缩成zip,再发布这个zip作为构件:
# 构建完成后添加打包步骤 - task: ArchiveFiles@2 inputs: rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/dist' includeRootFolder: false archiveType: 'zip' archiveFile: '$(Build.ArtifactStagingDirectory)/angular-app.zip' replaceExistingArchive: true # 发布zip格式的构件 - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/angular-app.zip' ArtifactName: 'angular-build' publishLocation: 'Container'
改完之后,发布任务里的D:\a\r1\a\**\*.zip路径就能匹配到这个zip文件了。
额外检查项
- 确认发布管道里的下载构件任务配置正确,已经下载了构建阶段发布的构件,没有跳过或路径错误。
- 去构建日志里看
PublishBuildArtifacts步骤,确认发布的构件是文件夹还是zip,保证和发布任务的路径要求一致。
内容的提问来源于stack exchange,提问作者Beth McCoy
相关产品推荐
相关产品推荐

