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
Third-party tools
Octopus Deploy integrates with several third-party database tools:
- Redgate Flyway
- grate (replaced RoundhousE)
- Liquibase
- DbUp
- 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.
Databases servers
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.
SQL Server
If you are deploying to SQL Server, see the SQL Server section.
Oracle
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
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).
Advanced topics
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
Learn more
Help us continuously improve
Please let us know if you have any feedback about this page.
Page updated on Sunday, January 1, 2023