Jenkins (war)stories
-
Upload
toomas-roemer -
Category
Technology
-
view
480 -
download
0
description
Transcript of Jenkins (war)stories
Jenkins (War)stories
Toomas RömerZeroTurnaroundTartu, Estonia
@toomasr
Thursday, October 10, 13
Why this talk?
• Logical step from previous unit test topic
• I’m a Jenkins fanboy :)
• Maybe I can inspire you!?
2
Thursday, October 10, 13
Why talk about Jenkins?
• First Jenkins installation in 2008– Have administered
– Have used as a developer
– Have developed plugins for it
– Still using daily but more like a manager
– Good friends with Cloudbees people
3
Thursday, October 10, 13
What have I done with Jenkins?
Built-tested-released software
Implemented continuous delivery
Updated websites (docs, changelogs etc.)
Propagating code or binary artifacts
Workflow management
Thursday, October 10, 13
Why so popular?
Authentication
Authorization
Logging
Notifications
Distributed
Thursday, October 10, 13
Cron on Steroids
Thursday, October 10, 13
Enterprise Cron
Thursday, October 10, 13
Background - 2013
300 600 jobs
8 20 dedicated machines
Amazon ~7000 instance-hour per month
3 4 in house plugins developed, 2 abandoned
Custom dashboard (35 x 215 grid)
Thursday, October 10, 13
Jenkins Overlords
• Jenkins Overlord– Actually his name is Juri
• Each project has a goto guy– Works with Juri when something
bad happens, also known as an Overlord :)
9
Thursday, October 10, 13
Stories
Stories–Managing the cluster– Functional Tests–Servlet Tests– The API–Random thoughts
Thursday, October 10, 13
Managing the cluster
11
Thursday, October 10, 13
Managing the cluster
12
Thursday, October 10, 13
Managing the cluster
• Lots of projects but 1 Jenkins cluster– Java– Application server X– Database server X– Framework X– PHP/Python/Groovy/SBT/Maven– Play Framework– Android– Eclipse– ....
13
Thursday, October 10, 13
Managing the cluster
14
Thursday, October 10, 13
Managing the cluster
15
Thursday, October 10, 13
Functional Tests
16
Thursday, October 10, 13
JRebel Functional JDK Tests
Thursday, October 10, 13
JRebel Functional JDK Tests
Thursday, October 10, 13
JRebel Functional JDK Tests
Per JDK– Per functional test
• Compile couple of classes• Run some methods and assert• Recompile couple of classes• Run some methods and assert• …
Thursday, October 10, 13
JRebel Functional JDK Tests
Which Jenkins feature is the best fit here?
Thursday, October 10, 13
JRebel Functional JDK Tests
Thursday, October 10, 13
JRebel Functional JDK Tests
Groovy Script
Thursday, October 10, 13
JRebel Functional JDK Tests
Thursday, October 10, 13
JRebel Functional JDK Tests
How to get test results? Jenkins feature…
Thursday, October 10, 13
JRebel Functional JDK Tests
Output JUnit XML!
Thursday, October 10, 13
JRebel Functional JDK Tests
Thursday, October 10, 13
Jenkins API
27
Thursday, October 10, 13
API
• Java/JavaScript/Python and others
• Super easy to get started (show demo)
• Retrieve info about Jenkins
• Trigger builds
• Create/copy jobs
28
Thursday, October 10, 13
29
Thursday, October 10, 13
30
Thursday, October 10, 13
Custom Dashboard
Thursday, October 10, 13
Random thoughts
32
Thursday, October 10, 13
There is an app plugin for that
Thursday, October 10, 13
Green Balls
34
Thursday, October 10, 13
Green Balls
34
Thursday, October 10, 13
Prep releases
Thursday, October 10, 13
Q & A
Thursday, October 10, 13