Azure 函数部署失败,状态为 503

Azure function deployment failed with status 503

我有一个 yaml 管道,它部署了许多 Azure Functions。以前工作的管道最近没有被编辑。昨天(2021 年 10 月 27 日)开始出现以下问题。

当我 运行 管道时,所有 Azure Functions 部署在第一次尝试时始终失败并出现相同的错误。我重试部署,他们在第二次尝试时都成功了。

这是我的错误信息:

在 Azure 资源组部署选项卡中,没有任何部署失败的迹象。我正在部署北欧地区。 Azure service status and for Azure devops status.

全线绿灯

我使用以下 yaml 模板部署我的函数。

parameters:
  environment: ''
  azureSubscription: ''
  appName: ''
  package: ''

jobs:
  - deployment: ${{parameters.package}}
    displayName: Deploy - Function - ${{parameters.package}}
    pool:
      name: 'Azure Pipelines'
      vmImage: ubuntu-latest
    dependsOn: ['ResourceDeployment']
    environment: ${{parameters.environment}}
    strategy:
      runOnce:
        deploy:
          steps:
          - template: Steps.GetAzureResourceNames.yml

          - task: AzureAppServiceManage@0
            inputs:
              azureSubscription: ${{parameters.azureSubscription}}
              Action: 'Stop Azure App Service'
              WebAppName: $(GetAzureResourceNames.${{parameters.appName}})

          - task: AzureRmWebAppDeployment@4
            inputs:
              ConnectionType: 'AzureRM'
              azureSubscription: ${{parameters.azureSubscription}}
              appType: 'functionApp'
              WebAppName: $(GetAzureResourceNames.${{parameters.appName}})
              packageForLinux: '$(Pipeline.Workspace)/${{parameters.package}}/${{parameters.package}}.zip'
              enableCustomDeployment: true
              DeploymentType: 'runFromZip'

          - task: AzureAppServiceManage@0
            inputs:
              azureSubscription: ${{parameters.azureSubscription}}
              Action: 'Start Azure App Service'
              WebAppName: $(GetAzureResourceNames.${{parameters.appName}})

有人知道这里会发生什么吗?

我发现如果您对资源的部署不当(发布错误的文件或发布到错误的目录),有时无法恢复 - 即使在重新启动后也是如此。

使用您的管道部署到新资源可能是值得的,如果可行,那么您就知道是资源被破坏了,而不是您的管道。

然后解决方案是删除并重新创建有问题的资源,然后恢复您之前对管道的更改,以便您再次部署到所需的资源。