To run Umbraco on Azure you can choose to use the build in Azure template.
For simple websites this could do the job but if you want to extend the portal with your own code or if you want to version control your site you’re better of starting with a blank MVC website.
Umbraco development lifecycle
Managing the lifecycle of an Umbraco application is somewhat challenging as Umbraco is one platform made out of several components (code/DB/content) and it’s not always clear what you need to deploy to promote content or features. Especially deploying database changes can be cumbersome. I personally chooses to avoid to have to stage DB changes by running all my environments (local/integration/production…) on a single DB hosted on Azure.
Because Umbraco already has a notion of staging you can for most cases work safely on the production database from your local machine without fearing to impact production. Nevertheless when I need to make risky changes to my application or when I need to test a major Umbraco upgrade then I setup a clone of my production DB and do the development and testing on the clone.
For most of the changes my development cycle goes as follow:
- All my changes are made locally through the local umbraco portal (running on my local machine) or for Extensions through Visual Studio.
- When new content is added to the site I make sure these are included in my local Visual Studio project.
- I make sure that everything run nice locally.
- I check-in all the changes
- Publish the changes to Azure through the publish wizard.
- Test that everything runs fine in production.
- Promote the content once everything is tested
Umbraco first deployment
In this part I explain the steps to take to deploy the skeleton of an empty ASP.NET MVC Umbraco website.
Through the Azure portal:
- Create a SQL server DB, don’t forget to note your password!
- Create a new web app
Open VS: Start new project, Web, Asp.Net web application
Manage Nuget packages, umbracoCms
Click RUN in VisualStudio and launch the website locally.
Enter you Name, email & password and click Customize.
As Database type choose Microsoft SQL Azure.
You can find your connection details from the Azure portal (via old portal): select your DB, dashboard, Show Connection strings.
Use the ADO.NET connectionstring, copy each relevant part in the textboxes, for the server you need to provide the “server” part but without the leading “tcp”.
Before publishing your website to Azure you first need to include files/folders to your project:
If you used a template also include the cshtml files under the Views folder.
Also set the build actions of the following web.config files to “none”.
Now publish the website: right-click your web project, choose publish.
Select your Azure Web App, the connectionstring should be retrieved by VS from your project.
If you followed everything in the exact order you should see your website running on Azure!