Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Continuous Deployment from GitHub failing in Azure (ASP.NET 5 & MVC 6)

I'm having issues with Continuous Deployment from GitHub in Azure. I have a Shared pricing tier, and the issue goes away if I upgrade to the Basic pricing tier. This is for an ASP.NET MVC 6 application (RC1).

Essentially I get the following error: http://pastebin.com/PgARgurg

The bit that stands out is:

Restore failed
There is not enough space on the disk.

If I publish directly from Visual Studio to the Shared tier it works fine. It's only when using continuous deployment where it falls over.

Any ideas?

like image 852
Adrian Luca Thomas Avatar asked Dec 17 '15 19:12

Adrian Luca Thomas


3 Answers

Shared instances have very limited resources, especially around disk size. Continuous deployment integration from GitHub involves bringing down a copy of the code to disk upon every change, and this isn't always cleaned up immediately (or at all). A direct publish to Azure from Visual Studio does clean up the prior deployment packages automatically. The reason that upgrading your tier solves the problem is the dedicated and increased available disk space. You should upgrade to Basic if you decide that continuous integration (and thus disk space) are important to your work.

like image 76
Haney Avatar answered Sep 28 '22 07:09

Haney


There's another caveat. Shared Web Apps instances have a limit on Temp Folder size of 300Mb.

An asp.net 5 RC1 application uses more Temp Folder storage than a Beta8 app. It's right now almost impossible to deploy an RC1 through Continuous Integration to a Free App Service.

like image 44
Matias Quaranta Avatar answered Sep 28 '22 06:09

Matias Quaranta


Basically restored packages size is NOT the same as published packages of an application.
You can understand why this is the case by opening up the restored packages...For example, in the below scenario the published package has only the required content for running the application.

Restored JSON.NET package content: enter image description here

Published JSON.NET package content: enter image description here

So probably you should publish the application from your continuous deployment?

like image 28
Kiran Avatar answered Sep 28 '22 06:09

Kiran