SQLServerCentral Editorial

You Always Have a Software Pipeline

,

I was working with a customer recently and they said they didn't want to set up a pipeline. Somehow they wanted magically to see changes that developers made to their database appear in their production database without making any effort to build or configure a pipeline in a tool like Octopus Deploy.

As I was thinking about how to find them a solution they would accept, I realized that I've always had a pipeline for software. Early on, this was a copy of all the files in a folder to the client for Clipper and dBase apps. Later, my pipeline was copying around all the VB6 files from a .zip file and executing a few SQL scripts that were sent to me in emails.

At one point, I had developers just tell me the software pipeline was them copying files to a server while I had to move all the changes from the QA server to production. I didn't like that one for two reasons. One was that the developers would sometimes forget to move a change from dev to QA, despite claiming they'd tested the application. Two was that the developers sometimes moved too much to QA, and had changes to the schema that they hadn't finished in their app. SQL Compare couldn't help me in either of those cases.

Over the years, I learned that a slightly thought-out pipeline is better than nothing. I wrote my scripts to simulate what Flyway does today, executing the scripts I'd placed in a folder. I added logging that would capture output results and save them for later review. I learned how tools such as Team City or Jenkins could execute the same thing I could but in a more repeatable, reliable manner. After all, my reliability at 4:55 p.m. on Friday isn't as good as it is at 2 pm on a Tuesday.

DevOps is about learning and taking advantage of tooling. Look at what works in your pipeline and find repeatable, reliable ways of accomplishing those tasks without humans doing more than clicking a button to approve something. It's about using your creativity to improve the process and codifying it in a way. It's about being better than we were last week while ensuring the process isn't dependent on any particular person. After all, I might leave for vacation.

Or find another job.

Rate

5 (1)

You rated this post out of 5. Change rating

Share

Share

Rate

5 (1)

You rated this post out of 5. Change rating