• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CloudBees Toronto Presentation

CloudBees Toronto Presentation



Building a Conntinous Delivery Pipeline

Building a Conntinous Delivery Pipeline



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    CloudBees Toronto Presentation CloudBees Toronto Presentation Presentation Transcript

    • Jenkins Enterprise by CloudBeesBuilding a Continuous Delivery PipelineMark Prichard, CloudBeesFebruary 6th, 2013 ©2012 CloudBees, Inc. All Rights Reserved
    • Have you met Jenkins?•  #1 OSS CI server•  Easy to install/use•  Extensible via 600+ plugins •  Widely adopted –  47K+ installations•  Very active community –  Over 7 years of history, 440+ releases –  600+ plugins, 300+ developers•  Jenkins Enterprise value-adds 2
    • About CloudBeesWho  are  we?   We  are  the  premier  provider  of  Jenkins  CI  services  &  support!  Why    are  we   §  Jenkins  creator  &  community  lead  Kohsuke  Kawaguchi  on  special?   the  CloudBees  team   §  Contributed  over  80%  of  the  core  Jenkins  code   §  We  support  all  OSS  Jenkins  plugins   §  Developed  Jenkins  as  a  Service     §  Developed  Enterprise  Level  value  add-­‐ons  for  Jenkins   §  2,000+  masters  -­‐  the  largest  Jenkins  installaLon  in  the   world   §  Maven  experts  on  the  team  as  well   We  really  are  the  experts!   ©2012 CloudBees, Inc. All Rights 3 Reserved
    • What is Jenkins Enterprise by CloudBees? Jenkins  Enterprise  is  Jenkins  LTS  +  Enterprise  Features,  backed  by   Professional  Support   Jenkins  Community   Community   Jenkins  LTS   Plugins   Jenkins   Enterprise  by   Professional   Enterprise   Support   Plugins   CloudBees   CloudBees   ©2012 CloudBees, Inc. All Rights 4 Reserved
    • Jenkins Enterprise Plugins Large   OpLmized   Security   InstallaLon   ULlizaLon   • Folders   • Roles-­‐based   • Auto-­‐scaling  for   • Folders  Plus*   Access  Control   VMWare   • Templates   • WikiText   installaLons   • Backup   DescripLons   • ThroZled  Build   • Secure  Copy   ExecuLon   • High  Availability   • Even  Load   • Custom  Update   Strategy   Centers     • Skip  Next  Build   • Validated   Merges   • Fast  Archiving   • Plugin  Usage*   *  New  features  November  2012   ©2012 CloudBees, Inc. All Rights 5 Reserved
    • Large Installation PluginsWhat  is  it?   How  does  it  help  me?  Folders   Enterprise -­‐  Save  Lme  by  easily  organizing  and  Organize  jobs  into  folders   CriLcal   managing  hundreds  of  jobs  -­‐  By  jobs,  department…   -­‐  Secure  folders  by  roles  –  keep   unauthorized  users  away  Backup     Enterprise   -­‐  No  longer  maintain  scripts,  cron  jobs  to  Back  up  Jenkins   CriLcal   back  up  Jenkins  -­‐  Back  up  Jenkins  from  within  Jenkins   -­‐  Sleep  peacefully  –  knowing  that  you  are     backing  up  J  Custom  Update  Centers   -­‐  Eliminates  downLme  Host  your  own  update  centers  easily   -­‐  Ensures  binary/plugin  compaLbility  -­‐  Specify  plugins  and  versions  of  plugins   between  teams   acceptable   -­‐  No  painful  debugging  sessions,  weeks  -­‐  Inherit  from  other  update  centers   a`er  check-­‐ins   -­‐  No  blame  game  between  teams   ©2012 CloudBees, Inc. All Rights 6 Reserved
    • Best Practice: Custom Update Centers•  Get everyone on the same page•  Easy to create your own update center•  Host your plugin or binaries•  Inherit from upstream update centers•  Specify version number of binaries or plugins to be promoted 7
    • Large Installation PluginsWhat  is  it?   How  does  it  help  me?   Enterprise  Validated  Merges   CriLcal     -­‐  Eliminates  downLme  Gate  your  repository   -­‐  No  broken  repository!  -­‐  Jenkins  only  merges  good  code   -­‐  Developers  save  Lme  not  running     “mandatory”  tests   -­‐  Bad  check-­‐in  impacts  just  the  developer   and  not  the  team.  Templates   Enterprise   -­‐  Quickly  set  up  new  jobs/builders  based   CriLcal    Capture  “sameness”  of  jobs   on  a  type  -­‐  TemplaLze  jobs,  builders   -­‐  Instantly  propagate  configuraLon   changes  to  all  jobs   -­‐  Stop  debugging  configuraLon  errors  by   shielding  user  from  configuraLon   complexity   ©2012 CloudBees, Inc. All Rights 8 Reserved
    • Best Practice: Validated Merge•  Shield your repository•  Rely on Jenkins… –  Push your code to Jenkins –  Jenkins builds, verifies and merges with upstream•  Result –  No downtime due to bad commits –  Tremendous productivity boost 9
    • Best Practice: Templates•  Talk in the users domain specific language –  Shield them•  Capture sameness of jobs, build steps –  Replicate them•  Faster route to success –  building plugins without writing code 10
    • Large Installation PluginsWhat  is  it?   How  does  it  help  me?  Folders  Plus   New   -­‐  Keep  sensiLve  team-­‐specific  Dedicate  slaves  to  a  folder   informaLon  on  slave  without  risk  of  it  -­‐  Restrict  slaves  to  a  team  or  project   being  shared  outside  the  team   -­‐  Assign  dedicated  resources  to  high   priority  projects  Plugin  Usage   New   -­‐  ProacLvely  manage  plugins  Track  plugins   -­‐  Know  the  list  of  jobs  that  are  impacted  -­‐  See  jobs  dependent  on  a  plugin   when  upgrading/deleLng  plugins    High  Availability     Enterprise   -­‐  Eliminates  downLme  Standby  for  masters   CriLcal   -­‐  Improves  the  availability  of  your  service  -­‐  Survive  master  &  hardware  outages   -­‐  No  more  P1  drills  to  recover  from  -­‐  Failover  standby  master(s)  automaLcally   Jenkins  failure   takes  over  on  service  failure   -­‐  No  more  midnight  pagers  –  have  a  -­‐  Do  rolling  upgrade  of  Jenkins   happier  married  life  J   ©2012 CloudBees, Inc. All Rights 11 Reserved
    • Best Practice: High Availability Plugin•  Failure detection and Reverse  Proxy   recovery is automatic•  Multiple Jenkins masters act   as backups waiting for a Jenkins   Master     Jenkins   Master     primary master failure    •  Can be used to do rolling Jenkins  Cluster   MT   upgrades of Jenkins•  Backup Scheduling Plugin: JENKINS_HOME  (NFS)   back up to the Cloud   12
    • Security PluginsWhat  is  it?   How  does  it  help  me?  Roles-­‐based  Access  Control  (RBAC)   -­‐  Save  Lme  by  sejng  up  authorizaLon  by  Define  roles  and  permissions   roles  and  not  by  individual  users  -­‐  Define  roles  and  add  users  to  roles   -­‐  Easily  set  up  simple  scenarios  like  -­‐  Protect  resources  using  permission   project-­‐based  security       Enterprise   -­‐  Protect  folders,  jobs  using  roles   CriLcal   -­‐  Set  up  complex  scenarios  easily  –  like   secret  projects   -­‐  Work  with  any  Jenkins  authenLcaLon   providers  WikiText  DescripOons   -­‐  Prevent  XSS  scripLng  aZacks  on  publicly  Use  wikitext  for  descripKon  fields   exposed  Jenkins  instances  Secure  Copy   -­‐  Eliminates  Lme  wasted  in  manually  Copy  arKfacts  between  Jenkins  instances   exchanging  “correct”  arLfacts  between  -­‐  Exchange  arLfacts  between  teams   teams  -­‐  Jobs  can  automaLcally  fetch  arLfacts  from   upstream   ©2012 CloudBees, Inc. All Rights 13 Reserved
    • Role-Based Access Control•  Simple matrix of click- Authentication Features boxes Provides group details Row: role (Optional) Column: permission Supports group lookup (Optional) Feature•  Define groups at any level ✓ Per-project configuration•  Assign roles to groups ✓ Per-object configuration•  Filter roles at any level ✓ Subtractive permissions model ✓* Supports external groups ✓ Local group definition ✓ Delegate management 14
    • Optimized Utilization PluginsWhat  is  it?   How  does  it  help  me?  VMWare  Auto-­‐scaling   -­‐  Save  dollars  by  efficiently  renLng  pools  or  Use  VMWare  machines  as  slaves   folders  of  machines  instead  of  buying  new  -­‐  Set  up  an  internal  cloud  of  machines   machines  -­‐  Rent  capacity  from  exisLng  machines   -­‐  Easily  increase  or  decrease  capacity  –  just   add  machines  to  folders,  no  complex   configuraLons  Label  ThroQled  Build  ExecuOon     -­‐  Faster  builds  as  Jenkins  uses  the  specified  Efficiently  uKlize  VMs  on  a  host  machine   hardware  capacity  of  a  host  machine  to  -­‐  No  thrashing  of  oversubscribed  VMs   allocate  jobs  Fast  Archiver   -­‐  Faster  builds.  Save  Lme!  Faster  upload  of  archives  from  slaves  to   -­‐  BeZer  bandwidth  usage  masters  -­‐  Send  the  compressed  difference  of   archives   ©2012 CloudBees, Inc. All Rights 15 Reserved
    • Optimized Utilization PluginsWhat  is  it?   How  does  it  help  me?  Skip  Next  Build   -­‐  Save  Lme  handling  false  negaLves  when  Skips  building  for  a  specified  period   project  is  in  a  lot  of  “expected”  churn  -­‐  AutomaLcally  turns  on  building  a`er  the   specified  period  Even  Load  Strategy   -­‐  Faster  builds  where  checkout  costs  are  Go  to  under-­‐uKlized  slave  for  builds   comparaLve  to  update  for  repositories  -­‐  Replaces  job  allocaLon  algorithm  to  go  to   under-­‐uLlized  slave  rather  than  the   “favorite”  slave     ©2012 CloudBees, Inc. All Rights 16 Reserved
    • Thank  You!  More  Info   hZp://www.cloudbees.com/jenkins-­‐enterprise-­‐by-­‐cloudbees-­‐overview.cb   Free  Trial   hZp://www.cloudbees.com/jenkins-­‐enterprise-­‐by-­‐cloudbees-­‐download.cb  Wiki  Page   hZps://wiki.cloudbees.com/bin/view/Jenkins+Enterprise/WebHome  User  Guide   hZp://jenkins-­‐enterprise.cloudbees.com/docs/user-­‐guide-­‐bundle/index.html#   Training   hZp://www.cloudbees.com/training.cb   ©2012 CloudBees, Inc. All Rights 17 Reserved