What’s next in the ApexSQL CI/CD toolkit – Bamboo build server plug-in

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

  1. Package step

    Create a NuGet package and store outputs from others step in it.

  2. Build step

    Build your database from a source control repository. Also, you will be able to include/exclude static data from chosen data source.

  3. Populate step

    Populate all empty tables (not populated with Static data from the Build step) with randomly generated test data

  4. Audit step

    Audit sensitive tables with DML triggers

  5. Test step

    Automatically run unit tests, including SQL Cop, on your database and determine a Pass/Fail status

  6. Document step

    Fully document the newly created database or just the changes from the current build

  7. Schema sync step

    Create a script to synchronize the latest build with a target database. Produce a report of all schema changes

  8. 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

  9. Deploy step

    Execute synchronization scripts from a current or specific NuGet package against a specific Target database e.g. Production

  10. Publish step

    Publish a current or specific NuGet package to your feed providing the URL and API key.

 

August 10, 2017