Azure YAML Deployment failing with "Error: Failed to deploy web package to App Service. Conflict (CODE: 409)"
Azure YAML Deployment failing with "Error: Failed to deploy web package to App Service. Conflict (CODE: 409)"
希望有人也看到了。
我们上一次成功构建是在 2019 年 12 月 6 日。
新的部署尝试在部署步骤失败(构建和发布管道中的相同问题)。
报错如下:
Got service connection details for Azure App Service:'OUR SITE'
Package deployment using ZIP Deploy initiated.
##[error]Failed to deploy web package to App Service.
##[error]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[warning]Error: Failed to update deployment history. Error: Bad Request (CODE: 400)
App Service Application URL: OUR SITE
这是我们的部署 YAML
,抱歉这几天一直在做这个:(
# Node.js Express Web App to Linux on Azure
# Build a Node.js Express app and deploy it to Azure as a Linux web app.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:
- master
variables:
# Azure Resource Manager connection created during pipeline creation
azureSubscription: '[OUR SUB ID]'
# Web app name
webAppName: 'website-to-deploy'
# Environment name
environmentName: 'web-to-deploy'
# Agent VM image name
vmImageName: 'ubuntu-latest'
stages:
- stage: Build
displayName: Build stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: $(vmImageName)
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build --if-present
npm run test --if-present
displayName: 'npm install, build and test'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
replaceExistingArchive: true
- upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
artifact: drop
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'OUR SUBSCRIPTION'
appType: 'webAppLinux'
WebAppName: 'site-to-deploy'
packageForLinux: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
RuntimeStack: 'NODE|12-lts'
StartupCommand: 'npm start'
AppSettings: 'WE DO HAVE SOME SETTINGS'
请注意:
我已经尝试将 WEBSITE_WEBDEPLOY_USE_SCM = true
添加到配置中,这没有帮助。
上面的构建 YAML
没有任何变化,它成功地工作并进入了 发布管道
感谢您的帮助。
UPDATE:使用 MS Dev-Ops 提出的票证
您可以在变量部分添加 system.debug: true
以获得更详细的日志记录。
这让我看到 AppService
returns 和 409
代码,因为它认为部署已经在进行中。
如果我得到解决方案,我将编辑此 post。
调试信息如下:
##[debug]Encountered a retriable status code: 409. Message: 'Conflict'.
##[debug][POST]https://$web040-glndev-com:***@web040-glndev-com.scm.azurewebsites.net/api/zipdeploy?isAsync=true&deployer=VSTS_ZIP_DEPLOY
##[debug]Could not parse response: {}
##[debug]Response: undefined
##[debug]Encountered a retriable status code: 409. Message: 'Conflict'.
##[debug][POST]https://$web040-glndev-com:***@web040-glndev-com.scm.azurewebsites.net/api/zipdeploy?isAsync=true&deployer=VSTS_ZIP_DEPLOY
##[debug]Could not parse response: {}
##[debug]Response: undefined
##[debug]ZIP Deploy response: {"statusCode":409,"statusMessage":"Conflict","headers":{"transfer-encoding":"chunked","content-type":"text/plain; charset=utf-8","server":"Kestrel","date":"Wed, 15 Jan 2020 17:40:47 GMT","connection":"close"},"body":"There is a deployment currently in progress. Please try again when it completes."}
##[error]Failed to deploy web package to App Service.
##[debug]Processed: ##vso[task.issue type=error;]Failed to deploy web package to App Service.
##[debug]task result: Failed
##[error]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[debug]Processed: ##vso[task.issue type=error;]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[debug]Processed: ##vso[task.complete result=Failed;]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[debug][POST]https://management.azure.com/subscriptions/7a7aad03-79b0-4118-8dd1-8ebd63716c6a/resourceGroups/appsvc_linux_centralus/providers/Microsoft.Web/sites/web040-glndev-com/config/appsettings/list?api-version=2016-08-01
##[debug]Correlation ID from ARM api call response : e4ebaf0f-7ccf-4b7b-ba4d-b70b8fd13bea
##[debug]Application Insights is not configured for the App Service. Skipping adding release annotation.
所以在与 MS 支持进行大量讨论后,Here is the ticket
事实证明,真正的问题是我的应用服务计划已满。在开发中,我们使用的是免费服务,但有限制。我们已经达到了这个限制,这个消息真的是转移注意力,根本不是真正的问题。
无论如何,我升级到了付费订阅的第一层,现在一切正常。
重新启动应用服务解决了我的问题。
我的应用服务计划已经是付费订阅,容量没有问题。我刚刚重新启动了应用服务,一切正常。
现在(July/August 2020)这个问题实际上是 Microsoft 对支持某些地区应用程序服务的 VM 的更新,如 github 问题中所述:https://github.com/projectkudu/kudu/issues/3042
解决方法(在此回复中列出:https://github.com/projectkudu/kudu/issues/3042#issuecomment-665997217)似乎有帮助。要么
- 通过 SCM 门户重新启动 Kudu(通过 Process Explorer 选项卡终止 w3wp 进程)
- 重启应用服务(导致停机)
- 向上和向下扩展您的服务(尽管有些人报告说他们必须在两者之间进行部署)
我遇到了同样的错误,问题出在 webapp 的大小上。我尝试将超过 1 GB 的 Web 应用程序部署到应用服务计划层为 1 GB 的 Azure Web 应用程序。
我犯的一个错误是把另一个功能应用程序的所有配置都复制过来,包括WEBSITE_ENABLE_SYNC_UPDATE_SITE和WEBSITE_RUN_FROM_PACKAGE。删除它们并重新部署。
我也遇到了这个问题,原因是日志文件损坏(之后 kudu/deployment 进程崩溃)。如果您有一个 linux 实例,您可以将 AppService 日志选项关闭(重新启动),然后再打开它
希望有人也看到了。 我们上一次成功构建是在 2019 年 12 月 6 日。 新的部署尝试在部署步骤失败(构建和发布管道中的相同问题)。
报错如下:
Got service connection details for Azure App Service:'OUR SITE'
Package deployment using ZIP Deploy initiated.
##[error]Failed to deploy web package to App Service.
##[error]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[warning]Error: Failed to update deployment history. Error: Bad Request (CODE: 400)
App Service Application URL: OUR SITE
这是我们的部署 YAML
,抱歉这几天一直在做这个:(
# Node.js Express Web App to Linux on Azure
# Build a Node.js Express app and deploy it to Azure as a Linux web app.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:
- master
variables:
# Azure Resource Manager connection created during pipeline creation
azureSubscription: '[OUR SUB ID]'
# Web app name
webAppName: 'website-to-deploy'
# Environment name
environmentName: 'web-to-deploy'
# Agent VM image name
vmImageName: 'ubuntu-latest'
stages:
- stage: Build
displayName: Build stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: $(vmImageName)
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build --if-present
npm run test --if-present
displayName: 'npm install, build and test'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
replaceExistingArchive: true
- upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
artifact: drop
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'OUR SUBSCRIPTION'
appType: 'webAppLinux'
WebAppName: 'site-to-deploy'
packageForLinux: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
RuntimeStack: 'NODE|12-lts'
StartupCommand: 'npm start'
AppSettings: 'WE DO HAVE SOME SETTINGS'
请注意:
我已经尝试将 WEBSITE_WEBDEPLOY_USE_SCM = true
添加到配置中,这没有帮助。
上面的构建 YAML
没有任何变化,它成功地工作并进入了 发布管道
感谢您的帮助。
UPDATE:使用 MS Dev-Ops 提出的票证
您可以在变量部分添加 system.debug: true
以获得更详细的日志记录。
这让我看到 AppService
returns 和 409
代码,因为它认为部署已经在进行中。
如果我得到解决方案,我将编辑此 post。
调试信息如下:
##[debug]Encountered a retriable status code: 409. Message: 'Conflict'.
##[debug][POST]https://$web040-glndev-com:***@web040-glndev-com.scm.azurewebsites.net/api/zipdeploy?isAsync=true&deployer=VSTS_ZIP_DEPLOY
##[debug]Could not parse response: {}
##[debug]Response: undefined
##[debug]Encountered a retriable status code: 409. Message: 'Conflict'.
##[debug][POST]https://$web040-glndev-com:***@web040-glndev-com.scm.azurewebsites.net/api/zipdeploy?isAsync=true&deployer=VSTS_ZIP_DEPLOY
##[debug]Could not parse response: {}
##[debug]Response: undefined
##[debug]ZIP Deploy response: {"statusCode":409,"statusMessage":"Conflict","headers":{"transfer-encoding":"chunked","content-type":"text/plain; charset=utf-8","server":"Kestrel","date":"Wed, 15 Jan 2020 17:40:47 GMT","connection":"close"},"body":"There is a deployment currently in progress. Please try again when it completes."}
##[error]Failed to deploy web package to App Service.
##[debug]Processed: ##vso[task.issue type=error;]Failed to deploy web package to App Service.
##[debug]task result: Failed
##[error]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[debug]Processed: ##vso[task.issue type=error;]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[debug]Processed: ##vso[task.complete result=Failed;]Error: Error: Failed to deploy web package to App Service. Conflict (CODE: 409)
##[debug][POST]https://management.azure.com/subscriptions/7a7aad03-79b0-4118-8dd1-8ebd63716c6a/resourceGroups/appsvc_linux_centralus/providers/Microsoft.Web/sites/web040-glndev-com/config/appsettings/list?api-version=2016-08-01
##[debug]Correlation ID from ARM api call response : e4ebaf0f-7ccf-4b7b-ba4d-b70b8fd13bea
##[debug]Application Insights is not configured for the App Service. Skipping adding release annotation.
所以在与 MS 支持进行大量讨论后,Here is the ticket
事实证明,真正的问题是我的应用服务计划已满。在开发中,我们使用的是免费服务,但有限制。我们已经达到了这个限制,这个消息真的是转移注意力,根本不是真正的问题。
无论如何,我升级到了付费订阅的第一层,现在一切正常。
重新启动应用服务解决了我的问题。
我的应用服务计划已经是付费订阅,容量没有问题。我刚刚重新启动了应用服务,一切正常。
现在(July/August 2020)这个问题实际上是 Microsoft 对支持某些地区应用程序服务的 VM 的更新,如 github 问题中所述:https://github.com/projectkudu/kudu/issues/3042
解决方法(在此回复中列出:https://github.com/projectkudu/kudu/issues/3042#issuecomment-665997217)似乎有帮助。要么
- 通过 SCM 门户重新启动 Kudu(通过 Process Explorer 选项卡终止 w3wp 进程)
- 重启应用服务(导致停机)
- 向上和向下扩展您的服务(尽管有些人报告说他们必须在两者之间进行部署)
我遇到了同样的错误,问题出在 webapp 的大小上。我尝试将超过 1 GB 的 Web 应用程序部署到应用服务计划层为 1 GB 的 Azure Web 应用程序。
我犯的一个错误是把另一个功能应用程序的所有配置都复制过来,包括WEBSITE_ENABLE_SYNC_UPDATE_SITE和WEBSITE_RUN_FROM_PACKAGE。删除它们并重新部署。
我也遇到了这个问题,原因是日志文件损坏(之后 kudu/deployment 进程崩溃)。如果您有一个 linux 实例,您可以将 AppService 日志选项关闭(重新启动),然后再打开它