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}})
有人知道这里会发生什么吗?
我发现如果您对资源的部署不当(发布错误的文件或发布到错误的目录),有时无法恢复 - 即使在重新启动后也是如此。
使用您的管道部署到新资源可能是值得的,如果可行,那么您就知道是资源被破坏了,而不是您的管道。
然后解决方案是删除并重新创建有问题的资源,然后恢复您之前对管道的更改,以便您再次部署到所需的资源。
我有一个 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}})
有人知道这里会发生什么吗?
我发现如果您对资源的部署不当(发布错误的文件或发布到错误的目录),有时无法恢复 - 即使在重新启动后也是如此。
使用您的管道部署到新资源可能是值得的,如果可行,那么您就知道是资源被破坏了,而不是您的管道。
然后解决方案是删除并重新创建有问题的资源,然后恢复您之前对管道的更改,以便您再次部署到所需的资源。