Automating database deployments is a complex topic and often the final step in an automated CI/CD pipeline. In this section, we aim to provide you with as much information as possible to get you started.
We have also written a series of blog posts on the topic:
- Why consider database deployment automation?
- Database deployment automation approaches
- How to design an automated database deployment process
- Automated database deployment process: case study
- Implementing an automated database deployment process
- Pitfalls with rollbacks and automated database deployments
Octopus Deploy integrates with several third-party database tools:
- and more
Before those tools can run, they need to be configured to run as a specific database account that has permission to make schema changes.
Learn more about configuration settings.
Common deployment process patterns
There is a learning curve with adopting automated database deployments, and that can lead to quite a bit of trepidation, especially when combined with the fact databases are the lifeblood of most applications. There are some common deployment patterns you can adopt to build trust and level-up tooling knowledge quickly.
Learn more about common patterns.
Octopus Deploy is database server agnostics; it calls the command-line interface (CLI) of the tool of your choice. The database server you use (SQL Server, Oracle, MySQL, PostgreSQL, etc.), will determine which tool you can choose.
If you are deploying to SQL Server, we have written a number of guides and blog posts on the subject.
- Using DbUp and Workers to Automate Database Deployments
- Database Deployment Automation using state-based Redgate SQL Change Automation
- Deploying to SQL Server with a DacPac
- Deploying to SQL Server with Entity Framework Core
Learn about SQL Server permissions.
Oracle might be complicated, but that doesn't mean its deployments have to be. We have some guides to help you get going.
- Deploy to Oracle Database using Octopus Deploy and Redgate
- Add Post Deployment scripts to Oracle database deployments using Octopus Deploy, Jenkins and Redgate
- Using DbUp and Workers to Automate Database Deployments (the article uses SQL Server as the example, but DbUp can deploy to Oracle)
MySQL is one of the most popular databases in the world. Even better, it is free and open-source. It is used to power websites that get millions of views per day. We've started building out our guides to help you deploy to it.
- Deploying a Java web app with a MySQL backend through Octopus Deploy
- Using DbUp and Workers to Automate Database Deployments (the article uses SQL Server as the example, but DbUp can deploy to MySQL).
Automating database deployments is often the final piece of a fully automated CI/CD pipeline. The next thought is, "what else can I do?" We've written some blog posts to help out with the "what next?" question.
- Automated blue/green database deployments
- Using ad-hoc scripts in your database deployment automation pipeline
Need support? We're here to help.