如何设置 "Azure Web App" 任务在出现警告时失败?

How can I set a "Azure Web App" task to fail on a warning?

在我的 Azure DevOps 管道中,我有一个 Azure Web 应用程序任务,它使用部署槽将 API 部署到应用程序服务。如果部署失败(在这种情况下,因为新部署无法访问数据库,因此部署槽不会交换)错误将作为警告报告,这意味着任务似乎成功了。

##[warning]Failed to update App Service configuration details. Error: Error: Failed to update App service 'xxxxxxxxxxxxxxxx-staging' Meta data. Error: Conflict - The slot cannot be changed because its configuration settings have been prepared for swap. (CODE: 409)

如果出现此警告,如何使任务失败?

Failed to update App Service configuration details.

  • 检查您的回购和部署槽是否有 web.config 文件。如果没有,创建一个并重新部署,警告应该消失。

The slot cannot be changed because its configuration settings have been prepared for swap.

  • 如果 Azure 应用服务管理器(交换步骤)由于某种原因失败,在这种情况下,交换操作不会完成并使应用服务处于不一致状态。

  • 如果您转到 Azure 门户并查看您的应用服务概述,则会启用 'Complete Swap' 选项而不是 'Swap'。因此,我们应该先取消或完成未完成的交换。

  • 完成后部署工作正常,没有这个错误。

set a "Azure Web App" task to fail on a warning

  • 设置 failOnStderr: true 后,如果 将任何错误 写入 StandardError 流,任务将失败。