O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Synchronizing parallel delivery flows
in Jenkins using Groovy, BuildFlow
and a bit of black magic
Andrey Devyatkin, Automa...
Andrey Devyatkin, @andrey9kin
● Continuous Deliverer (CoDe:er with
DevOps at heart)
● Coach
● Open Source enthusiast
● Tra...
Problem
How to secure delivery order in the long-running-
delivery-pipeline as well as enable concurrent pipelines
executi...
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!
Idea
Use Jenkins CheckPoint API in order
to sync pipelines implemented using
Groovy and BuildFlow (potentially
WorkFlow)
I...
Tools
● Docker
● Jenkins
● JobDSL
● Groovy
● BuildFlow
Image source: http://365psd.com/psd/drawing-tools-icon-psd-53148
Setup
https://github.com/Andrey9kin/jenkins-checkpoints-demo
Thank you!
Próximos SlideShares
Carregando em…5
×

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

818 visualizações

Publicada em

Slides from my talk on Automation Nights 15.09-STHLM

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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!

×