Standard setup for SCA when you have Dev, QA and Prod environments
GeekyCat
Posts: 6 New member
Hello
I'm just starting to set up my SCA all the videos I see only show the option for 1 target DB. I'd like to deploy from Dev to QA, be able to test and then deploy from QA to PROD. Do I need to set up 2 different projects or is there a way to push to both environments. Preferably from Dev to QA and from QA to PROD
I'm just starting to set up my SCA all the videos I see only show the option for 1 target DB. I'd like to deploy from Dev to QA, be able to test and then deploy from QA to PROD. Do I need to set up 2 different projects or is there a way to push to both environments. Preferably from Dev to QA and from QA to PROD
Tagged:
Answers
Usually the promotion of releases to later stage environments is handled by your Release Management (RM) tool.
Once you create a project for your Dev Database in SQL Change Automation and then baseline it against Production (or QA) and get this into your source control system, you can then use either the SQL Change Automation PowerShell components or one of the many plugins we offer for different Continuous Integration systems (Azure DevOps, Jenkins, TeamCity etc.) to then build that database source code from the VCS, test it, validate it and package it up into a NuGet Package.
That NuGet package can then be easily promoted to multiple environments either through continuous deployment or as one-click deployments (depending on your preferences), once again using the Redgate PowerShell cmdlets or one of the Redgate plug-ins for RM systems (Azure DevOps, Bamboo, Octopus Deploy etc.) - this would achieve the process you're looking to put in place and would not require multiple projects across the different environments.
There's a couple of really great videos you can watch that I think should help!
1) This is the Redgate University course setting up an example demo environment using Azure DevOps Server, the parts that should be of specific interest to you are the Continuous Integration and Delivery pipeline - note, in this video Andrea only configures 1 release stage, but you can repeat the stages to create multiple environments: https://www.red-gate.com/hub/university/courses/sql-toolbelt/set-up-demo-environment/demo-environment-creation/set-up-continuous-delivery
2) This is the full Redgate University course for SQL Change Automation Migrations, giving the foundations of everything from creating the project through to advanced techniques: https://www.red-gate.com/hub/university/courses/sql-change-automation/sql-change-automation-2
3) If you want to use the PowerShell cmdlets instead of a CI server and RM tool (or with a CI/RM tool that Redgate doesn't offer a plugin for), there's a great video from Kendra here: https://www.red-gate.com/hub/university/courses/sql-change-automation/sql-change-automation-powershell-cmdlets-with-sql-source-control
I hope this helps? Let me know if I can do anything else to help out! Thanks!