Azure DevOps发布流水线报错,如何正确提供构建工件?
解决Azure发布流水线包格式不兼容问题
错误原因
你的构建流水线生成的是MSBuild原生的Web Deploy包(.zip),但当前发布流水线使用的任务不支持这种格式,必须用Azure App Service Deploy任务来部署这类包。
两种可行解决方案
方案一:修改发布流水线(推荐,无需改动构建逻辑)
在你的空发布作业中添加Azure App Service Deploy任务,步骤如下:
- 进入发布流水线编辑界面,选中空作业,点击"+"添加任务
- 搜索并选择Azure App Service Deploy任务
- 配置基本参数:
- 选择已授权的Azure订阅
- 选择目标App Service名称
- 在「Package or folder」字段中填写工件路径,格式类似:
$(System.DefaultWorkingDirectory)/_你的构建流水线名称/drop/WebApp.zip
- 保存并重新运行发布流水线即可
方案二:修改构建流水线,生成文件系统格式的部署包
如果不想用Azure App Service Deploy任务,可以调整构建逻辑,生成普通文件目录形式的部署包:
修改构建YAML中的VSBuild@1任务参数,将WebPublishMethod从Package改为FileSystem,并指定发布目录:
- task: VSBuild@1 inputs: solution: '$(solution)' msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:PublishDir="$(build.artifactStagingDirectory)\WebApp" /p:SkipInvalidConfigurations=true /p:DeployIisAppPath="Default Web Site"' platform: '$(buildPlatform)' configuration: '$(buildConfiguration)'
修改后,构建会生成WebApp目录而非压缩包,发布流水线使用普通的文件复制任务即可完成部署。
内容的提问来源于stack exchange,提问作者user20641787
相关产品推荐
相关产品推荐

