As a big believer of Continuous Integration and Continuous Deployment systems, I’m always looking at new ways to get my applications build and roll-out in an automated way. So the same thing is true for our cloud service projects. I wanted to make the deployment to Windows Azure a part of TFS build process. I looked around on the Internet and found the following great library: http://deploytoazure.codeplex.com/
DeployToAzure allows automating deployment of Windows Azure project and making it a part of TFS 2010 build process without using PowerShell and Azure Management CmdLets.
Solution includes:
- a set of custom workflow actions wrapping Azure Management API operations such as GetDeployment, GetOperationStatus, NewDeployment, RemoveDeployment and SetDeploymentStatus;
- helper actions such as FindPackageAndConfigurationFiles, LoadCertificate and WaitForOperationToComplete;
- designer activity DeployToAzure implementing deployment logic ;
- reusable build definition template.
There are some extra steps required on your build server to get the activity up and running. I recommend the following article for a step-by-step guide: http://www.koltovich.com/blog/DeployingAzureProjectFromTFS2010BuildServer.aspx.