Jenkins User Conference Boston
Transcription
Jenkins User Conference Boston
Jenkins User Conference Boston #jenkinsconf Jenkins State of Union Kohsuke Kawaguchi Creator of Jenkins / CTO, CloudBees @kohsukekawa / [email protected] #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Thank You To Our Sponsors Platinum Gold Silver Jenkins User Conference Boston #jenkinsconf Installation Last 12 months Jenkins User Conference Boston #jenkinsconf Slaves Last 12 months Jenkins User Conference Boston #jenkinsconf Jobs Last 12 months Jenkins User Conference Boston Dockercon keynote #jenkinsconf Jenkins User Conference Boston Jenkins is everywhere #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston Copyright Google #jenkinsconf Jenkins User Conference Boston Dockercon keynote #jenkinsconf Jenkins User Conference Boston Copyright HBO #jenkinsconf Jenkins User Conference Boston Even on a TV show #jenkinsconf Jenkins User Conference Boston Even on a TV show #jenkinsconf Jenkins User Conference Boston #jenkinsconf http://en.wikipedia.org/wiki/File:Grand-Bazaar_Shop.jpg Jenkins User Conference Boston DotCi #jenkinsconf Jenkins User Conference Boston #jenkinsconf DotCi Highlights • • • • • GitHub specific opinionated flavor of Jenkins 1 repository = 1 build Configuration via source file: .ci.yaml Docker MongoDB backend for storage Jenkins User Conference Boston User Interface Refresh Doony #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf User Interface Refresh • Short-term goals – Series of CSS improvements – <table> → <div> – Bigger text, bigger controls, bigger buttons • Pay respect to compatibility Jenkins User Conference Boston More UI/UX improvements • Dynamic content update – Left-over from FOSDEM UI Discussion • A lot under discussion – Create jobs from repos (like GitHub) – Plugin pack –… #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston End-to-end tracking with #jenkinsconf Jenkins User Conference Boston #jenkinsconf source repository server Chef/Puppet Jenkins User Conference Boston Tracking for Continuous Delivery • Track what was deployed when/where? • Use that to automate even more – Smoke test – Show the status in the build job • Extensible – Integration to specific tool can be written as plugins #jenkinsconf Jenkins User Conference Boston Changes needed in Ops is minimal • Chef – Custom report handler • Puppet – Just POST a standard report to Jenkins • Request for feedback – How should the data come back to Jenkins? #jenkinsconf Jenkins User Conference Boston Jenkins and Docker • DotCI • Docker plugin for Jenkins – Runs one-off slaves in Docker container • Docker build publish plugin – Build & push docker images #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston with.node(“linux”) { steps.git ... sh “mvn install” parallel( { sh “./regression-test.sh” }, { sh “./performance-test.sh” } ) … } #jenkinsconf Jenkins User Conference Boston Build #153 #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Workflow • github.com/jenkinsci/workflow-plugin • Bunch of new extension points • Expect some value-adds in Jenkins Enterprise by CloudBees • More about this later today Jenkins User Conference Boston #jenkinsconf Jenkins User Conference Boston #jenkinsconf Train Model for LTS Releases Pick good main release Main release line LTS release line 1.554.1 1.554.2 1.554.3 New LTS release every four weeks Jenkins User Conference Boston LTS Release Model Changes • You can plan ahead for upgrades • Participate in LTS qualification process #jenkinsconf Jenkins User Conference Boston Acceptance Test & Harness • Old project, renewed • Lots of activity –50+ commits/week by 22 people –365 tests –50-ish plugins #jenkinsconf Jenkins User Conference Boston Acceptance Test & Harness #jenkinsconf Jenkins User Conference Boston Class of problems we hope to catch • • • • • • Browser-specific issues Container-specific issues OS-specific issues Packaging-specific issues Problematic plugin combinations Plugin with newer versions of cores #jenkinsconf Jenkins User Conference Boston #jenkinsconf This is for you, too I want to make sure a new version of Jenkins works in my environment with my set of plugins. Jenkins User Conference Boston Reusability • Make your tests our tests • Amass a bigger pool of tests #jenkinsconf Jenkins User Conference Boston #jenkinsconf Separately reusable pieces Jenkins Controller Page Objects JENKINS HOME seeder Machine Provisioner Docker fixtures Cucumber integration Vagrant JUT Process pool Geb + Spock Jenkins User Conference Boston More work ahead • More regular executions – More target platforms – More browsers • Test stability improvements • Expand to non-functional tests #jenkinsconf Jenkins User Conference Boston X1K #jenkinsconf Jenkins User Conference Boston #jenkinsconf More efficient master/slave communication • NIO in remoting – use a few threads to manage 100s of slaves • JNLP today, coming to CLI soon • Maven2 jobs are a lot faster Jenkins User Conference Boston Speaking of JNLP slaves… #jenkinsconf Jenkins User Conference Boston Speaking of JNLP slaves… #jenkinsconf Jenkins User Conference Boston http://www.flickr.com/photos/acmace/4410650624/ #jenkinsconf Jenkins User Conference Boston “Eat our own dogfood” approach • Continuous delivery pipeline for our own infra • Shout out to Puppet Labs for their help #jenkinsconf Jenkins User Conference Boston #jenkinsconf Infra Summary • It’s all out there – github.com/jenkins-infra/jenkins-infra • Come join the infra team – Work on cutting-edge stuff & brag about it elsewhere Jenkins User Conference Boston #jenkinsconf Conclusion • So many exciting things going on in the project • Let’s build this together