Automate Build and Deployment of Azure SQL Database with Continuous Integration and Continuous Deployment

One of key benefits of developing database with SSDT is you can easily integrate Application Lifecycle Management (ALM) practices to database development. You can develop and manage your database in source control such as Git, automate build with continuous integration and orchestrate releases with continuous deployment.

In this blog, we will walk through a series of end-to-end scenarios of continuous integration and deployment. After playing through these scenarios, you will have a complete build and deployment automation setup for your Azure SQL Database from where you can venture into more advanced techniques. For simplicity we will use Visual Studio Team Services and Azure so that you can enable the whole practice in a few minutes without writing any complex script or code.

Part 1. Prerequisite for Azure SQL Database Build and Deployment Automation Part 2. Automate Building Azure SQL Database with Continuous Integration Part 3. Create Nuget package for Azure SQL Database Part 4. Orchestrate Azure SQL Database Release with Continuous Deployment Part 5. Use your own Build and Deployment Agent

Things that you will be able to do after playing through the tutorials in this blog:

You can develop a database in Visual Studio Team Services and GIT Git


You can build a database with continuous integration build automation result


You can nuget-package a database with build automation nuget package for sql database


You can deploy a database with continuous deployment and orchestrate release workflow deploy automation


Additional Resources

If you want all the benefits of CI & CD but already use an alternative to Visual Studio Team Services, you may want to read Kent Chenery's (@ kentchenery)  blog about enabling CI & CD of SQL Server database using DACFx API, JetBrains TeamCity and Octopus Deploy. Go check it out here. It covers many of the same processes but using alternative build & deployment services.