Monday, 10 November 2014

Pipelines a Go Go

Like most companies, at Betfair we're learning our way in to a Continuous Integration development and deployment strategy.  Whilst it's just one step on a long road of delivering all our apps like this, it's good to see some of our groundwork pay off and see some green on our Thoughtworks Go Pipeline status:

All we're doing here is having our 3rd party developer curl/post an RPM package into our yum repository and then automatically deploying it out to Linux boxes.  Fairly simple stuff, but as a team we had to jump through a fair number of hoops to get there.  Understanding how Go Agents work, configuring sudoers files to allow the appropriate commands on the boxes, working with Go environment variables and parameters were all bumps to navigate.  Even for something this simple though, the payoff is considerable.  Our old process would have been for the 3rd party to ftp the package onto a temp directory on a dev box, our maxed out Op Engineers would take it, install/promote it to yum, and run a shell based install across all the boxes using func.  If something went wrong, they'd have to ssh onto individual boxes and figure it out. The Go process is fairly similar, just automated, and neatly removes the dependency on the Op Engineers and the troubleshooting part.  If you see Green, you know the package has been successfully put out into the wild.  If you see Red, you just drill into the Pipeline and quickly find the problem in the Task->Log.

No comments:

Post a Comment