Successfully reported this slideshow.

Jenkins User Conference 2013: Literate, multi-branch, mobile and more

2,704 views

Published on

This is the talk we gave in Jenkins User Conference 2013 Palo Alto about good things coming from CloudBees for the Jenkins community.

- Literate builds (OSS Jenkins plugin)
- Mobile development (including OS X build slaves)
- Multi-master

Published in: Technology, Business
  • Be the first to comment

Jenkins User Conference 2013: Literate, multi-branch, mobile and more

  1. 1. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Jenkins at 3 Years: Literate, Mobile, Multi-Branch & More! Harpreet Singh Kohsuke Kawaguchi CloudBees, Inc. @jenkinsconf
  2. 2. Jenkins User Conference Palo Alto , Oct 23 2013 ♥ @jenkinsconf
  3. 3. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  4. 4. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  5. 5. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  6. 6. Jenkins User Conference Automate! Palo Alto , Oct 23 2013 @jenkinsconf
  7. 7. Jenkins User Conference Palo Alto , Oct 23 2013 CI Configuration? @jenkinsconf
  8. 8. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  9. 9. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  10. 10. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  11. 11. Jenkins User Conference Palo Alto , Oct 23 2013 literate branch-api literate-api scm-api @jenkinsconf
  12. 12. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf scm-api • Discovering branches & revisions – Mercurial, Git, Subversion – GitHub pull requests? – Code reviews? • Virtual File System for peeking contents
  13. 13. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf branch-api • Multi-branch project – Doesn’t care what per-branch project looks like – Multi-branch freestyle project? • Various strategies – Dead branch trimming – Throttling – Trustworthiness
  14. 14. Jenkins User Conference Palo Alto , Oct 23 2013 literate-api • Not dependent on Jenkins • Custom project definition parser – YAML? XML? @jenkinsconf
  15. 15. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Credit: http://commons.wikimedia.org/wiki/File:Tree_logo.png
  16. 16. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Credit: http://commons.wikimedia.org/wiki/File:Tree_logo.png
  17. 17. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Credit: http://commons.wikimedia.org/wiki/File:Tree_logo.png
  18. 18. Jenkins User Conference Palo Alto , Oct 23 2013 ♥ @jenkinsconf
  19. 19. Jenkins User Conference Palo Alto , Oct 23 2013 ♥ @jenkinsconf
  20. 20. Jenkins User Conference Palo Alto , Oct 23 2013 cloudbees.com/mobile-paas @jenkinsconf
  21. 21. Jenkins User Conference Vessel.io plugin Palo Alto , Oct 23 2013 @jenkinsconf
  22. 22. Jenkins User Conference BlazeMeter plugin Palo Alto , Oct 23 2013 @jenkinsconf
  23. 23. Jenkins User Conference App.io plugin Palo Alto , Oct 23 2013 @jenkinsconf
  24. 24. Jenkins User Conference Palo Alto , Oct 23 2013 SOASTA CloudTest plugin @jenkinsconf
  25. 25. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  26. 26. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  27. 27. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  28. 28. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  29. 29. Jenkins User Conference Palo Alto , Oct 23 2013 XCode plugin improvement x.developerprofile @jenkinsconf
  30. 30. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  31. 31. Jenkins User Conference Palo Alto , Oct 23 2013 cloudbees.com/osx @jenkinsconf
  32. 32. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf http://www.flickr.com/photos/66598477@N07/6065295630/
  33. 33. Jenkins User Conference Palo Alto , Oct 23 2013 Mansion Slave Slave Slave Slave @jenkinsconf
  34. 34. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Linux Container = zero cost virtualization Subversion Hardware Gradle Mercurial Ant Git Maven Linux Kernel
  35. 35. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf For OSX Subversion XCode Git XCode Git Maven OS X OS X OS X QEMU QEMU QEMU Linux Kernel Apple Hardware
  36. 36. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Kernel Same-page Merging OS X OS X OS X
  37. 37. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  38. 38. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Mansion Workspace 1 Slave Workspace 2 Slave Workspace 3 Workspace 4 Slave
  39. 39. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Workspace’ Slave Workspace Workspace’’ Slave
  40. 40. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf ~/.m2/repository Slave ~/.m2/repository ~/.m2/repository Slave
  41. 41. Jenkins User Conference Palo Alto , Oct 23 2013 IN OTHER NEWS… @jenkinsconf
  42. 42. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Issues moving to Jenkins in the cloud “How do I access resources in my data center?” “How do I… run builds on a custom stack; leverage my existing hardware?” “How do I… make use of my AMIs on EC2; stop managing Jenkins master when I go to the Amazon cloud?”
  43. 43. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Jenkins Hybrid = EC2 Executors “How do I… make use of my AMIs on EC2; stop managing Jenkins master when I go to the Amazon cloud?” + On-premise Executors “How do I… run builds on a custom stack; leverage my existing hardware?”
  44. 44. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Jenkins Hybrid EC2 Executors + = + VPN to Jenkins On-premise Executors
  45. 45. Jenkins User Conference Palo Alto , Oct 23 2013 Jenkins VPN Plugin @jenkinsconf
  46. 46. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Jenkins grows virally …that’s good right?
  47. 47. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf I would like to… Share Executors “Why should I buy new machines when there are machines in my company?” QA Engineering Operations
  48. 48. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf I would like to… qe.cloudbees.com Setup security – Security Realm – Roles QA Engineering eng.cloudbees.com Easily navigate between masters Operations ops.cloudbees.com
  49. 49. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Introducing Jenkins Multi-master Set of plugins installed on Jenkins Slaves shared between masters Push security configuration to masters SSO between masters
  50. 50. Jenkins User Conference Palo Alto , Oct 23 2013 Multi-master @jenkinsconf mm.cloudbees.com mm.cloudbees.com/qa Multi-master Server QA Multi-master client Roles and Security Realm Engineering Operations Multi-master client Multi-master client mm.cloudbees.com/eng mm.cloudbees.com/ops
  51. 51. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Multi-master benefits Central Dashboard Sharing resources Scale out Jenkins – add more masters instead of adding executors to a single master Multi-master server failure will keep builds running on the multi-master client master
  52. 52. Jenkins User Conference Palo Alto , Oct 23 2013 Thank You To Our Sponsors Platinum Gold Silver @jenkinsconf
  53. 53. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf
  54. 54. Jenkins User Conference Palo Alto , Oct 23 2013 <INSERt NEWSPAPER GRAPHIC> IN OTHER NEWS… @jenkinsconf
  55. 55. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf In your own Jenkins, soon Internet Mansion
  56. 56. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Newly Open Sourced Plugins Support Plugin – Capture thread dumps, system properties, environment variables etc in a zip file – Manually/auto-generate a bundle – Attach to the ticket Folders Plugin – Foundational feature for Jenkins Enterprise by CloudBees: Group jobs in nested hierarchies – Folders+ • Moving jobs between folders, pulling information from nested jobs, environment variables
  57. 57. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Jenkins Hybrid <INSERT HYBRID IMAGE> “How do I access resources in my data center?” – Use Jenkins VPN • VPN server running on Jenkins master on DEV@cloud • Use OpenVPN to punch a hole in your firewall “How do I… run builds on a custom stack; leverage my existing hardware?” – Use On-premise Executors • Run a cli utility to connect to the master on DEV@cloud “How do I… make use of my AMIs on EC2; stop managing Jenkins master when I went to the Amazon cloud?” – Use EC2 Executors
  58. 58. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Multi-master <INSERT GRAPHIC of MANY JENKINS> “Jenkins grew virally in my organization, now I need to…” – share slaves across these masters – access and manage these masters – share security configuration
  59. 59. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Multi-master: Jenkins Enterprise by CloudBees Slaves shared between masters Push security configuration to masters SSO to masters
  60. 60. Jenkins User Conference Palo Alto , Oct 23 2013 Thank You To Our Sponsors Platinum Gold Silver @jenkinsconf
  61. 61. Jenkins User Conference I WANTED MY COMPANY TO USE JENKINS Palo Alto , Oct 23 2013 @jenkinsconf Jenkins grows virally …that’s good right? NOW I HAVE TOO MANY JENKINS

×