Jenkins (War)stories
Toomas Römer
ZeroTurnaround
Tartu, 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
Thursd...
Why talk about Jenkins?
• First Jenkins installation in 2008
– Have administered
– Have used as a developer
– Have develop...
What have I done with Jenkins?
Built-tested-released software
Implemented continuous delivery
Updated websites (docs, chan...
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...
Jenkins Overlords
• Jenkins Overlord
– Actually his name is Juri
• Each project has a goto guy
– Works with Juri when some...
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
– Framewor...
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
• Reco...
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 bu...
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
Upcoming SlideShare
Loading in …5
×

Jenkins (war)stories

839 views

Published on

Gave a presentation at the Software Engineering Guild of Tartu

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
839
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Jenkins (war)stories

  1. 1. Jenkins (War)stories Toomas Römer ZeroTurnaround Tartu, Estonia @toomasr Thursday, October 10, 13
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. Why so popular? Authentication Authorization Logging Notifications Distributed Thursday, October 10, 13
  6. 6. Cron on Steroids Thursday, October 10, 13
  7. 7. Enterprise Cron Thursday, October 10, 13
  8. 8. 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
  9. 9. 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
  10. 10. Stories Stories –Managing the cluster –Functional Tests –Servlet Tests –The API –Random thoughts Thursday, October 10, 13
  11. 11. Managing the cluster 11 Thursday, October 10, 13
  12. 12. Managing the cluster 12 Thursday, October 10, 13
  13. 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
  14. 14. Managing the cluster 14 Thursday, October 10, 13
  15. 15. Managing the cluster 15 Thursday, October 10, 13
  16. 16. Functional Tests 16 Thursday, October 10, 13
  17. 17. JRebel Functional JDK Tests Thursday, October 10, 13
  18. 18. JRebel Functional JDK Tests Thursday, October 10, 13
  19. 19. 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
  20. 20. JRebel Functional JDK Tests Which Jenkins feature is the best fit here? Thursday, October 10, 13
  21. 21. JRebel Functional JDK Tests Thursday, October 10, 13
  22. 22. JRebel Functional JDK Tests Groovy Script Thursday, October 10, 13
  23. 23. JRebel Functional JDK Tests Thursday, October 10, 13
  24. 24. JRebel Functional JDK Tests How to get test results? Jenkins feature… Thursday, October 10, 13
  25. 25. JRebel Functional JDK Tests Output JUnit XML! Thursday, October 10, 13
  26. 26. JRebel Functional JDK Tests Thursday, October 10, 13
  27. 27. Jenkins API 27 Thursday, October 10, 13
  28. 28. 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. 29. 29 Thursday, October 10, 13
  30. 30. 30 Thursday, October 10, 13
  31. 31. Custom Dashboard Thursday, October 10, 13
  32. 32. Random thoughts 32 Thursday, October 10, 13
  33. 33. There is an app plugin for that Thursday, October 10, 13
  34. 34. Green Balls 34 Thursday, October 10, 13
  35. 35. Green Balls 34 Thursday, October 10, 13
  36. 36. Prep releases Thursday, October 10, 13
  37. 37. Q & A Thursday, October 10, 13

×