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