JFokus 2012                             Stockholm, Feb 14th 2012   #jfokus       Jenkins Evolutions        Toomas Römer   ...
2
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?               Testing
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?      Continuous Integration
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?     Continuous Deployment
JFokus 2012                   Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?     Workflow management      – Trigger j...
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?      Authentication      Authorization      Logg...
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?              Cron on Steroids
JFokus 2012            Stockholm, Feb 14th 2012   #jfokus   Why Evolutions?      Unopinionated build tool              (vi...
JFokus 2012                Stockholm, Feb 14th 2012   #jfokus   Agenda      Background      Stories      – Functional Test...
JFokus 2012                  Stockholm, Feb 14th 2012   #jfokus   Background - 2008     First installation     Clicked “Ru...
JFokus 2012                   Stockholm, Feb 14th 2012   #jfokus   Background - 2012     200 300 jobs     5 8 dedicated ma...
JFokus 2012   Stockholm, Feb 14th 2012   #jfokus                                            14
JFokus 2012   Stockholm, Feb 14th 2012   #jfokus                                            15
JFokus 2012            Stockholm, Feb 14th 2012   #jfokushttps://github.com/jenkinsci/jenkins-scripts                     ...
JFokus 2012           Stockholm, Feb 14th 2012   #jfokus   Custom Dashboard
JFokus 2012         Stockholm, Feb 14th 2012   #jfokus     Story of Functional Tests
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests
JFokus 2012                           Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Per JDK      – ...
JFokus 2012                   Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Which Jenkins feature i...
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Groovy Script
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests
JFokus 2012                  Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     How to get test results?...
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests              Output JUnit XML!
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests
JFokus 2012                 Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Creates about 10 000 new ...
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests              Sloooow
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     IO     CPU     Memory
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Bare metal     Cloud     Bare...
JFokus 2012                        Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Cloud      – 1 sma...
JFokus 2012                  Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Which Jenkins plugin to ...
JFokus 2012             Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests          Amazon EC2 Plugin
JFokus 2012                   Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Which Jenkins plugin to...
JFokus 2012                     Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     Bare metal      – 8 c...
JFokus 2012                           Stockholm, Feb 14th 2012   #jfokus   JRebel Functional JDK Tests     SSD      – 30% ...
JFokus 2012     Stockholm, Feb 14th 2012   #jfokus   Story of Servlet Tests
JFokus 2012                      Stockholm, Feb 14th 2012   #jfokus   Servlet tests     Start a container version      – W...
JFokus 2012         Stockholm, Feb 14th 2012   #jfokus   Servlet tests          How do you start a               server?
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Servlet tests          Duh! With a startup                script!
JFokus 2012                  Stockholm, Feb 14th 2012   #jfokus   Servlet Tests – 1 app server, 2 jobs     Which Jenkins f...
JFokus 2012              Stockholm, Feb 14th 2012   #jfokus   Servlet Tests – 1 app server, 2 jobs
JFokus 2012              Stockholm, Feb 14th 2012   #jfokus   Servlet Tests – 1 app server, 2 jobs
JFokus 2012        Stockholm, Feb 14th 2012   #jfokus   Servlet Tests
JFokus 2012        Stockholm, Feb 14th 2012   #jfokus   Servlet Tests        How do you deploy an            application?
JFokus 2012                Stockholm, Feb 14th 2012   #jfokus   Servlet Tests     Start Tomcat     Copy WAR files to webapp...
JFokus 2012        Stockholm, Feb 14th 2012   #jfokus              Sloooow
JFokus 2012        Stockholm, Feb 14th 2012   #jfokus   Servlet Tests     Memory     IO     CPU
JFokus 2012                      Stockholm, Feb 14th 2012   #jfokus   Testing Multiple Containers     Cloud      – 1 Small...
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus   Single Machine     Port Hell     Memory Limits     Speed
JFokus 2012   Stockholm, Feb 14th 2012   #jfokus    Story of DVCS
JFokus 2012        Stockholm, Feb 14th 2012   #jfokus   Story of DVCS
JFokus 2012                       Stockholm, Feb 14th 2012   #jfokus   Story of DVCS     Problem      – Many JDKs      – M...
JFokus 2012                       Stockholm, Feb 14th 2012   #jfokus   Story of DVCS     Problem      – Many JDKs      – M...
JFokus 2012                       Stockholm, Feb 14th 2012   #jfokus   Story of DVCS     Problem      – Many JDKs      – M...
JFokus 2012                       Stockholm, Feb 14th 2012   #jfokus   Story of DVCS     Problem      – Many JDKs      – M...
JFokus 2012                      Stockholm, Feb 14th 2012   #jfokus   Story of DVCS                  Tests green?         ...
JFokus 2012        Stockholm, Feb 14th 2012   #jfokus   Story of DVCS
JFokus 2012   Stockholm, Feb 14th 2012   #jfokus      General stuff
JFokus 2012    Stockholm, Feb 14th 2012   #jfokus    Fight for executors
JFokus 2012          Stockholm, Feb 14th 2012   #jfokus              Optimum              utilization
JFokus 2012     Stockholm, Feb 14th 2012   #jfokus        Quick feedback
JFokus 2012      Stockholm, Feb 14th 2012   #jfokus        There is an app        plugin for that
JFokus 2012   Stockholm, Feb 14th 2012   #jfokus       Q&A
Upcoming SlideShare
Loading in...5
×

Jenkins Evolutions

485
-1

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
485
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Dynamic startup scripts – why not show a demo?\nDeploy applications – get stats from Rein\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Jenkins Evolutions

    1. 1. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Jenkins Evolutions Toomas Römer ZeroTurnaround Tartu, Estonia, 500km @toomasr http://dow.ngra.de/
    2. 2. 2
    3. 3. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Testing
    4. 4. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Continuous Integration
    5. 5. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Continuous Deployment
    6. 6. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Workflow management – Trigger jobs – Join jobs Building software Testing builds Propagating DVCS repositories Updating website – Changelog – Documentation – Nightly builds Release management
    7. 7. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Authentication Authorization Logging Notifications Remote machines
    8. 8. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions?
    9. 9. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Cron on Steroids
    10. 10. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Why Evolutions? Unopinionated build tool (via @lusis)
    11. 11. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Agenda Background Stories – Functional Tests – Servlet Tests – Random Thoughts
    12. 12. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Background - 2008 First installation Clicked “Run” when wanted to test stuff
    13. 13. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Background - 2012 200 300 jobs 5 8 dedicated machines Amazon ~7000 instance-hour per month 3 in house plugins developed, 2 abandoned Custom dashboard (35 x 215 grid)
    14. 14. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus 14
    15. 15. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus 15
    16. 16. JFokus 2012 Stockholm, Feb 14th 2012 #jfokushttps://github.com/jenkinsci/jenkins-scripts 15
    17. 17. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Custom Dashboard
    18. 18. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of Functional Tests
    19. 19. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests
    20. 20. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests
    21. 21. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus 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 • …
    22. 22. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Which Jenkins feature is the best fit here?
    23. 23. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests
    24. 24. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Groovy Script
    25. 25. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests
    26. 26. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests How to get test results? Jenkins feature…
    27. 27. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Output JUnit XML!
    28. 28. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests
    29. 29. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Creates about 10 000 new files Compile about 1700 Java class files Invoke the JVM 550 times
    30. 30. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Sloooow
    31. 31. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests IO CPU Memory
    32. 32. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests
    33. 33. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Bare metal Cloud Bare metal
    34. 34. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Cloud – 1 small instance per JDK – Manual update of AMIs – Slow – Scales!
    35. 35. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Which Jenkins plugin to use?
    36. 36. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Amazon EC2 Plugin
    37. 37. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Which Jenkins plugin to use for results?
    38. 38. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests Bare metal – 8 core & 16GB RAM gaming machines – Recycled developer machines – Marketing demo machines (iMacs)
    39. 39. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus JRebel Functional JDK Tests SSD – 30% gain in time, that’s it
    40. 40. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of Servlet Tests
    41. 41. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet tests Start a container version – Websphere, Weblogic, Glassfish etc. Deploy applications Test results, reload changes, test results…
    42. 42. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet tests How do you start a server?
    43. 43. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet tests Duh! With a startup script!
    44. 44. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests – 1 app server, 2 jobs Which Jenkins feature to use?
    45. 45. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests – 1 app server, 2 jobs
    46. 46. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests – 1 app server, 2 jobs
    47. 47. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests
    48. 48. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests How do you deploy an application?
    49. 49. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests Start Tomcat Copy WAR files to webapps/ GET /some-url Assert Update application GET /some-url Assert
    50. 50. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Sloooow
    51. 51. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Servlet Tests Memory IO CPU
    52. 52. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Testing Multiple Containers Cloud – 1 Small instance per Container – Need to update AMIs – Slow – Isolation
    53. 53. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Single Machine Port Hell Memory Limits Speed
    54. 54. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS
    55. 55. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS
    56. 56. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS Problem – Many JDKs – Many App Servers – Many Servlet Containers
    57. 57. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS Problem – Many JDKs – Many App Servers – Many Servlet Containers Slow feedback cycle
    58. 58. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS Problem – Many JDKs – Many App Servers – Many Servlet Containers Slow feedback cycle
    59. 59. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS Problem – Many JDKs – Many App Servers – Many Servlet Containers Slow feedback cycle Difficult to install environments
    60. 60. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS Tests green? Push to branch/repository DEV STABLEn tests on N servers m tests on M (30 min) servers (3 hours)
    61. 61. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Story of DVCS
    62. 62. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus General stuff
    63. 63. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Fight for executors
    64. 64. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Optimum utilization
    65. 65. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Quick feedback
    66. 66. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus There is an app plugin for that
    67. 67. JFokus 2012 Stockholm, Feb 14th 2012 #jfokus Q&A
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×