0
votes

I had successfully deployed a simple node.js application on Azure's Web App on Linux service from a private Github repository ( Using Deployment options in Azure's portal UI).

But after pushing a new change to the Github repo the continuous deployment does not work. Entering the Deployment options in Azure's portal UI shows a sad cloud icon

enter image description here

and error message:

ContinuousDeploymentListPart WEBSITESEXTENSIONin Azure's portal.

Tried to "Disconnect and reconnect my source control" several times for a few days in a row.

All requests ended with a timeout: Failed to set up deployment source Failed to set up deployment source for web app <MY_APP_NAME>, using GitHub. Heuristics indicate WebApiClient request timed out. Uri: https://management.azure.com/subscriptions/... Timeout: 00:01:00

Tried also to remove the ssh keys Azure added to Github account, but it did not help with re-setting the deployment source on Azure.

Also tried creating another, clean instance of Azure web app. The deployement worked for the initial fetching of data, but ended in the same issue when tried to push new changes to the repo.

  • How to fix the current issue?
  • Is there another way to setting the github <-> azure deployment integration?

EDIT:

Trying to change the Deployment source on any site with that error results in the following error The remote server returned an error: (503) Server Unavailable.:

    Failed to set up deployment source for web app <MY_APP_NAME>, using GitHub. {"Code":"BadRequest","Message":"Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
 at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
 at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__78.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.<GetSSHKey>d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.GitHubSiteRepositoryProvider.<UpdateSiteSourceControl>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass35e.<<UpdateSiteSourceControl>b__359>d__363.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.Csm.Common.Helpers.AsyncHelper.RunSync[TResult](Func`1 func)
 at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl).","Target":null,"Details":[{"Message":"Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
 at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
 at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__78.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.<GetSSHKey>d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.GitHubSiteRepositoryProvider.<UpdateSiteSourceControl>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass35e.<<UpdateSiteSourceControl>b__359>d__363.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.Csm.Common.Helpers.AsyncHelper.RunSync[TResult](Func`1 func)
 at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl)."},{"Code":"BadRequest"},{"ErrorEntity":{"ExtendedCode":"05007","MessageTemplate":"Repository '{0}' operation failed with {1}.","Parameters":["UpdateSiteSourceControl","System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
 at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
 at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__78.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.<GetSSHKey>d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.GitHubSiteRepositoryProvider.<UpdateSiteSourceControl>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass35e.<<UpdateSiteSourceControl>b__359>d__363.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.Csm.Common.Helpers.AsyncHelper.RunSync[TResult](Func`1 func)
 at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl)"],"Code":"BadRequest","Message":"Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
 at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
 at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__78.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.<GetSSHKey>d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.GitHubSiteRepositoryProvider.<UpdateSiteSourceControl>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass35e.<<UpdateSiteSourceControl>b__359>d__363.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.Web.Hosting.Administration.Csm.Common.Helpers.AsyncHelper.RunSync[TResult](Func`1 func)
 at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl)."}}],"Innererror":null}
1
Would you mind sharing your app name, privately if you like? Also, is your Github repo public/shareable? It sounds like you've reproduced this pretty easily and I'd like to see if I can do the same in order to investigate.nlawalker
Hello @nlawalker, unfortunately I cannot share the repo. Perhaps it would be beneficial to note, that the repo is within Github organization's team. I also created an app: debugging-github-deployment, check any of the web app on linux app.Blaise
@nlawalker: Is there a way I can check any logs for kudu? How to restart that deployment or even whole docker image it works on via portal? is there any other way to do that?Blaise
@nlawalker: the issue does not seem to be code related. One of the sites is deployed and working fine with only the deployment crashed (no new pushes can get deployed).Blaise
@Blaise To see any log file from Kudu you can use the CMD. After you have opened the CMD prompt, open the folder called LogFiles and now you should be able to see the log files. If needed, you can also download them.lorenzo montanari

1 Answers

0
votes

According to an answer from Azure's support forum to this question:

The Kudu site associated with your main site was not starting up, and communication with one of its API endpoints is required for creation of a source control hook. (...) I should also recommend - for large application deployments with lots of source code, many dependencies and files and/or compute or disk-heavy deployment requirements, you may want to try containerizing your application.

and also:

Deployment from source via Kudu does not scale well in some scenarios.

So if you'd also would like to containerize your application you can find more info following the links below: