Azure Web Apps – Continuous Integration & Continuous Delivery

Preview

Delivery Manager: We need to implement DevOps as soon as possible for fast & smooth rollout.
Dev. team: We need to have a sophisticated IDE….
Delivery Manager: But you already have that as Visual Studio.
Dev Team: Yes, but we need few other tools tool like Team Foundation Server, Test Professional, Release Manager.
Manager: Yes, those can assumed to be approved.
System Manager: We need time to procure & then install.
Dev Team: We need time to configure, test and then certify it.
Delivery Manager: How much time is required?
System Manager: approx. 2 weeks.
Dev Team: approx. 2-3 weeks after successful installation.
Delivery Manager: I surrender….

The above scenario is now a passe with Microsoft Visual Studio Online (VSO) & Azure Web Apps.

What is Azure Web Apps

Please view: Azure App Services – The SuperHero of Cloud Resources

What is Visual Studio Online (VSO)

Visual Studio Online is the next evolution of TFS and Team Foundation Service, bringing you the fundamentals of ALM in the cloud.With Visual Studio Online, Microsoft now has a platform of services you can take advantage of whether you’re moonlighting on your own personal projects or working on larger systems with your team
Build in the cloud. No servers, no overhead—great.You still have full access to your build drops because they’re also stored in your source repository in Visual Studio Online. Overall, use Visual Studio Online for basics such as continuous integration where you check in your code & it builds it for you.
What all it gives:

• Plan you project for Agile or traditional approach.
• Check-in your code
• Build your code
• Create Test Plan
• Perform Load Test
• Plan your release

Continuous Integration

1.Connect you Visual Studio IDE with VSO: From your Visual Studio IDE login to you Microsoft Account to link your IDE with VSO. Create your project & add it to the VSO source control.

2.Check-in your code: Check-in your code as you perform check-in using traditional TFS approach. You can put your own comments for each check-in.

3.Build your code: The next step is to build the checked in code. VSO allows to create build definition from VS IDE.

Clicking the “New Build Definition” opens the template window. Keep in mind if you are planning for automated Deploy, please use the template: TfvcContinuousDeploymentTemplate.12.xaml. You can select whether you want the build to happen on every check-in or at predefined schedule.

3.Run Unit Test: Whether to execute unit test or not, can be set in the build definition. If the Unit test fails, the build will fail and erroneous code will not be allowed to get deployed.

Continuous Delivery

The successfully built code now need to be deployed. To understand the advantage of deploying in Azure, please view: Azure App Services – The SuperHero of Cloud Resources.

Once the Azure Web App is created, navigate to it as there is a need to link with your Visual Studio Online source control. This will also create a build definition for you, as an alternate to the steps mentioned in CI(above).

Thats it. You are done.

Every new build will automatically get deployed in your Azure Web App and will be available for users, without any manual intervention.

Conclusion

Though this is very handy for some of the deployment, it may not be very useful always as you still need some more control in complete build-deployment process.
You may need elaborate process of deploying in various stages accross multiple instance with automated rollback capabilities and so on.
In such case either the VSO-Azure deployment process need to be more customized or you may need to deploy necessary MS tool sets.