Background
Bamboo is a “Build server” from Atlassian for continuous integration, continuous delivery and deployment, from a variety of technologies. It will provide the DevOps teams necessary means to build and deploy projects. More information on this tool can be found here
The ApexSQL DevOps toolkit is a set of components and scripts that integrate with the CLI of our SQL developer tools, providing one of the solutions for constructing DevOps toolchains to build sophisticated and powerful continuous integration and continuous delivery pipelines right out of the box.
Bamboo plug-in
With a native plug-in for Bamboo included in the ApexSQL DevOps toolkit, ApexSQL adds our organic SQL Server continuous integration and delivery capabilities as well. With the plug-in present on Bamboo continuous integration server, DevOps users can use steps from variety of choices packed in one plug-in to create automated CICD pipelines.
Steps
Our Bamboo plug-in will include the following steps
- Build
- Populate
- Audit
- Test
- Review
- Document
- Package
- Publish
- Schema sync
- Data sync
- Deploy
- Build step
Build your database from a source control repository. Also, you will be able to include/exclude static data from chosen data source.
- Populate step
Populate all empty tables (not populated with Static data from the Build step) with randomly generated test data
- Audit step
Audit sensitive tables with DML triggers
- Test step
Automatically run unit tests, including SQL Cop, on your database and determine a Pass/Fail status
- Review step
Run custom rulebase against SQL objects to enforce best practices
- Document step
Fully document the newly created database or just the changes from the current build
- Package step
Create a NuGet package and store outputs from others step in it.
- Publish step
Publish a current or specific NuGet package to your feed providing the URL and API key.
- Sync step
Create a script to synchronize the latest build with a target database. Produce a report of all schema changes
- Sync data step
Create a script to synchronize the latest build with a target database, for any static data changes. Produce a report of all data changes
- Deploy step
Execute synchronization scripts from a current or specific NuGet package against a specific Target database e.g. Production
October 11, 2018