Another announcement on new Windows Azure features and a new dawn for continuous delivery / integration. The team is doing great efforts on this topic in order to have support for a multitude of platforms and mechanisms. A couple of new additions since yesterday are Mercurial and Dropbox. I’m going to describe the Dropbox scenario here in a little more detail.
I started off with a default ASP.Net MVC project.
So far nothing fancy here, just plain vanilla. Except that I immediately place it inside my Dropbox location.
Next step is to fire up the portal, and create a new website through the wizard: enter your URL , region and eventual db if needed and make sure you check the “Publish from source control” checkbox.
On the next page select the Dropbox source control integration.
Press the next arrow. Dropbox authentication will be launched (just like with any other authentication provider and app approval mechanism). Enter your Dropbox credentials and press sign in (if not already recognized as registered user)
After that Dropbox will ask whether you will trust Windows Azure as an App accessing your files, so press “Allow”:
Now, the next step was kind of confusing for me. It seems like you can only see folders that have been created through Windows Azure on Dropbox thus this requires a little action from my side before I can actually start with the real source control. So what you basically need to do is to create a new folder and then copy manually your sources in that synced folder on your PC. If you’ve already created a folder then you can select the folder from the combo.
No existing folders:
This is kind of confusing as Dropbox doesn’t allow access to their entire folder structure but only to the trusted location created by Windows Azure.
Once the repository is selected, the website will be created.
When we check the deployments, and the repo is empty, the deployments page will show following information:
When sources exist deployment will start momentarily, if not, copy the files to the repo and hit the “sync” button.
When syncing manually Windows Azure will ask for a confirmation:
Deployment will start and you’ll get a quick overview in the notifications area.
Also the deployment itself show what and when it started deploying and how far it is in deployment.
When your Build is ok your deployment will turn green :
And you can even check the details of the deployment:
With detailed logging for the deployment script and and command
Hence your brand new deployment is running:
Now when we change something inside the app the changes need to be reflected inside the deployment of course.
So let’s change the source of the HomeController.
I save the file and Dropbox starts syncing the change towards the online service. (blue sync icon)
Windows Azure now needs to get the order to deploy. So press the Sync again, and deployment will start:
Resulting in a new versioned deployment
And resulting in an adapted website with my changes included.
This once more will open up the world of ALM for more people with a better management of change management and version management of your sources. For me this is a more open system, because many people already use Dropbox and this will lower the entry point for continuous delivery. Also according to me, Dropbox will be a cheaper alternative for private repo’s. The team did another great job. I would say : keep on going and try to add more systems (Skydrive or native Azure Blobstorage anyone?) to the menu if you can.