Download presentation
Presentation is loading. Please wait.
Published byEleanore Kennedy Modified over 9 years ago
1
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Addressing Key Challenges with Viral Adoption of Jenkins Sacha Labourey CloudBees, Inc www.cloudbees.com
2
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Situation Jenkins spreads virally Complication: Project and Job sprawl Implication
3
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Steps to Jenkins Adoption 1.Lone Wolf – developer sets it up and uses it on his own – Usually 1 master – 1 slave 2.Pack – Individual teams start relying on it within their boundaries – Usually 1 master – multiple slaves 3.Pack (Pack) – Multiple teams start to collaborate through Jenkins – Usually multiple masters – multiple slaves 4.Serengeti – People start writing their own plugins – All departments use their own Jenkins masters – Multiple masters – multiple slaves
4
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Agenda Eat right! – Define best practices for consuming Jenkins Plan right! – Managing Jenkins Sprawl – plan for private or public cloud Invest right! – Running a well-oiled machine
5
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Memorable URL jenkins.cloudbees.com or sca14-3530.sca.cloudbees.com:8080/jenkins
6
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Backup Schedule Backups
7
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf What Do You Backup? Don’t /war – (exploded war) /cache – (downloaded tools) /tools – (extracted tools) Do /jobs/* – Builds (build records) – builds/*/archive (archived artifacts) – workspace
8
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Test your restore – Just copy it somewhere and “java -jar jenkins.war --httpPort=9999” – JENKINS_HOME is relocateable Nectar backup plugin – A new job type – Schedule regular backups More on backup
9
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Plan for Running out of disk space
10
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Custom Hierarchies UseViews Nectar Folders Separate byDepartmentsProjects Setup Hierarchies
11
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Secure keys to the castle
12
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Checklist should include Server patches & hotfixes up to date Server firewall configured appropriately Server remote access locked down o Remote desktop on Windows o SSHD on *nix Servlet container running as restricted user Consider Apache HTTPD or nginx if exposing on a public network Server Security ©2011 CloudBees, Inc. All Rights Reserved
13
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf What are they Core Jenkins extension point for Authentication Responsible for validating user identity Can only select one. Default for clean install: None What is available already Core – None – Unix PAM – Internal DB – Legacy Container Open Source Plugins – Active Directory – CAS v1 – CollabNet – Crowd – MySQL DB – OpenID SSO – Script & Extended Script – SourceForge Enterprise Edition – … Security Realms ©2011 CloudBees, Inc. All Rights Reserved
14
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Active Directory Atlassian Crowd Jenkins’ own DB LDAPOpenIDUnix PAM Supports signup -- ✓ - -- Provides group details ✓✓ - ✓✓✓ Supports group lookup ✓ -*-*- ✓ - ✓ Can logout ✓✓✓✓✓✓ Feature Matrix ©2011 CloudBees, Inc. All Rights Reserved
15
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf What are they Core Jenkins extension point for Authorization Responsible for deciding the permissions available to users. Can only select one. Default for clean install: Unsecured What is available already Core – Global Matrix – Project Matrix – Logged in user can do anything – Legacy Authorization Open Source Plugins – CollabNet – Role strategy – SourceForge Enterprise Edition – … CloudBees’ Plugins – RBAC Authorization Strategies ©2011 CloudBees, Inc. All Rights Reserved
16
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf A simple matrix of click-boxes Row: role Column: permission Define groups at any level Assign roles to groups Filter roles at any level Authentication Features Provides group details (Optional) Supports group lookup (Optional) CloudBees’ RBAC Plugin (plugin) ©2011 CloudBees, Inc. All Rights Reserved Feature ✓ Per-project configuration ✓ Per-object configuration ✓ Subtractive permissions model ✓*✓* Supports external groups ✓ Local group definition ✓ Delegate management ✓ Non-System Config config
17
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Distributed builds: Slaves
18
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Distributed Builds: Labels
19
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Distributed Builds: VM Pools Nectar VMWare Pool Plugin – Use existing VMWare machines as slave machines – Better resource usage – Based off vCenter
20
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Define Templates Mostly same configuration in so many places –Define templates of your jobs/build steps/publishers and replicate them when creating new jobs – Make changes in a central location and reflect changes in all dependent configurations CloudBees’ Templates plugin (coming October end)
21
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Flag Failures
22
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Agenda Eat right! – Define best practices for consuming Jenkins Plan right! – Managing Jenkins Sprawl – plan for private or public cloud Invest right! – Running a well-oiled machine
23
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Issues At This Stage Problem 1: Increasing # of slaves – Sharing between masters, between projects, between departments Problem 2: Managing RBAC – Between all masters Problem 3: Defining plugin compliance – White lists, black lists
24
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf PRIVATE CLOUD Manage the in-house Sprawl
25
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf
26
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Introduce DEV@cloud PE Server
27
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf PUBLIC CLOUD Move away from maintaining infrastructure in-house
28
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Offload To Cloud: AWS Offload peak capacities to AWS Use Amazon EC2 or AWS CloudFormation plugin Management of machines is your responsibility
29
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Offload to Cloud(Bees) No machine management You work to Jenkins console – Not a VM management UI Pay by the minute not by the hour Code repositories Maven repositories Team based
30
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf CloudBees Dashboard ©2011 CloudBees, Inc. All Rights Reserved Jenkins on CloudBees
31
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Continuous Deployment Continuous Integration is not enough Once code is built it should be deployed automatically You should move the entire development- deployment cycle to the cloud
32
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf
33
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf
34
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Agenda Eat right! – Define best practices for consuming Jenkins Plan right! – Managing Jenkins Sprawl – plan for private or public cloud Invest right! – Running a well-oiled machine
35
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Running a well oiled machine needs investment Learning Community Engagement Support
36
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Learning Read Jenkins Definitive Guide Read Jenkins Hub Attend Training (CloudBees) Attend Hackathons Attend Jenkins User Conference Read blogs Write blogs Review code Contribute code – (new plugins, fix issues)
37
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Community Engagement Talk on IRC Contribute Plugins Fix Code Invest in making community stronger in any way you can
38
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Support Jenkins is always in the critical path Ability to get rapid issue resolution Sleep peacefully at night
39
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Eat right! – Define best practices for consuming Jenkins Plan right! – Managing Jenkins Sprawl – plan for private or public cloud Invest right! – Run a well-oiled machine
40
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Thank You To Our Sponsors Platinum Sponsor Gold Sponsor Silver Sponsor Bronze Sponsors Coming Soon: The CloudBees Newsletter for Jenkins Please complete the Jenkins survey to help us better serve the community (bonus: a chance to win an Apple TV!)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.