background: SignusLabs, Social Quantum, Pragmatix, Creative Mobile • Moved to Estonia in 2013 • DevOps Engineer (XRebel team) • <3 OpenSource (contributor to Groovy, Spring Boot, Jenkins plugins, AWS SDK, and many more) • https://github.com/bsideup @bsideup
JRebel for Android™ - code reloads without redeploy • XRebel - lightweight profiler aka “OMG do we really have 1000 DB queries?!” • We pay more money for Jenkins machines than production servers @bsideup
all projects • Plugins conflicts • Try to keep your plugins up to date • Automate nodes configuration (Ansible, Chef, Docker, etc) • Continuous Delivery with Jenkins is challenging @bsideup
by comparing XML representations • Each change is bounded to user who did it • “Must have” for audition • Provides “Rollback” functionality • No configuration required to start
etc • Could be reviewed as code • A lot of bindings for plugins • Configuration stored in VCS • Want to change job? Send pull request! • Auditable • History and rollbacks
just specify “first job in pipeline” • Great overview of current release status • Each step is a separate job, steps trigger other steps • Manual steps (i.e. “promote to staging”)
ReactJS • Able to handle very complex pipelines • Allow tracking of changes between different stages (i.e. dev, qa, prod) • Most of this changes will be contributed back (a few already are)