Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,716 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

×