Background
Bamboo is a “Build server” from Atlassian for continuous integration, deployment, and delivery from a variety of technologies. More information on this tool can be found here
The ApexSQL CI/CD toolkit is a set of components and scripts that integrate with the CLI of our SQL developer tools, allowing users to build sophisticated and powerful CI and CD pipelines right out of the box.
Bamboo plug-in
With a native plug-in for Bamboo included in the ApexSQL CI/CD toolkit, ApexSQL adds our organic SQL Server continuous integration and delivery capabilities as well
Our Bamboo plug-in is built on the same open source PowerShell scripts that can be used to create CI/CD pipelines directly.
Our Bamboo plug-in should be publically available in a few weeks. Other plug-ins for VSTS/TFS, TeamCity and Jenkins will be released over the coming weeks and months.
Steps
Our Bamboo plug-in will include the following steps
- Package
- Build
- Populate
- Audit
- Test
- Document
- Schema sync
- Data sync
- Deploy
- Publish
-
Package step
Create a NuGet package and store outputs from others step in it.
-
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
-
Document step
Fully document the newly created database or just the changes from the current build
-
Schema sync step
Create a script to synchronize the latest build with a target database. Produce a report of all schema changes
-
Data sync 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
-
Publish step
Publish a current or specific NuGet package to your feed providing the URL and API key.
August 10, 2017