Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Synchronizing parallel delivery flows in jenkins using groovy, build flow and a bit of black magic

767 views

Published on

Slides from my talk on Automation Nights 15.09-STHLM

https://www.youtube.com/watch?v=1YmnTCVBdmc&index=2&list=PLuvRKxeqrv4I_y8Vxz-09-EJuP6yELwEX

Published in: Technology
  • Be the first to comment

Synchronizing parallel delivery flows in jenkins using groovy, build flow and a bit of black magic

  1. 1. Synchronizing parallel delivery flows in Jenkins using Groovy, BuildFlow and a bit of black magic Andrey Devyatkin, Automation Nights v15.09-STHLM
  2. 2. Andrey Devyatkin, @andrey9kin ● Continuous Deliverer (CoDe:er with DevOps at heart) ● Coach ● Open Source enthusiast ● Traveler, runner, martial artist Recent noticeable projects ● Continuous delivery pipeline setup for Ericsson new generation radio products ● ClearCase -> Git migration for 1000+ employees, 5-sites, 100 MLOC, 10 years legacy project
  3. 3. Problem How to secure delivery order in the long-running- delivery-pipeline as well as enable concurrent pipelines executions? Example: ● SCM check out can run concurrently, but the changelog computation requires that the check out of the earlier build has completed ● Sending out an e-mail with test results requires info about the previous build, so that we can decide an e-mail is necessary or not ● Rolling out database schema updates ● Delivering incremental changes to users Image source: http://desigeek.com/blog/amit/2010/08/08/race-conditions-explained/
  4. 4. Problem 3 4 2 1 Build Build Build Build Pack Pack Pack Test Test Test Test Test Deploy We are heading to the trouble here!
  5. 5. Idea Use Jenkins CheckPoint API in order to sync pipelines implemented using Groovy and BuildFlow (potentially WorkFlow) Image source: http://delivervalue.blogspot.se/2013/06/more-advanced-build-flows-with-jenkins.html
  6. 6. Tools ● Docker ● Jenkins ● JobDSL ● Groovy ● BuildFlow Image source: http://365psd.com/psd/drawing-tools-icon-psd-53148
  7. 7. Setup https://github.com/Andrey9kin/jenkins-checkpoints-demo
  8. 8. Thank you!

×