SlideShare uma empresa Scribd logo
1 de 46
Docker and Jenkins [as code]
Docker and Jenkins
[as code]
CI/CD TrackCI/CD Track
© 2019 All Rights Reserved. 3
Today…
3
© 2019 All Rights Reserved. 4
CI/CD. Why containers?
Config Management
Fast provisioning
Clean environments
Disposability
Clustering 4
© 2019 All Rights Reserved. 5
Jenkins and Docker
© 2019 CloudBees, Inc. All Rights Reserved.
Jenkins & Docker. Packaging
https://hub.docker.com/r/jenkins/
© 2019 All Rights Reserved. 7
Jenkins and Docker
• Build agents and steps
© 2019 CloudBees, Inc. All Rights Reserved.
Official agent images
• jenkins/slave – base image with Remoting
• jenkins/jnlp-slave – JNLP agents
• jenkins/ssh-slave – SSH agents
• jenkins/remoting-kafka-agent – Remoting Kafka Plugin
https://hub.docker.com/r/jenkins/
© 2019 All Rights Reserved. 9
Jenkins & Docker. Plugins
Docker Plugin
Docker Pipeline Plugin
Docker Custom Build Environment Plugin
…
Yet Another Docker Plugin
Kubernetes Plugin
Kubernetes Pipeline Plugin
…
© 2019 All Rights Reserved. 10
Example: Docker Pipeline Plugin
https://plugins.jenkins.io/docker-workflow
docker.image('onenashev/gcc-riscv:6.4-rc').inside {
checkout scm
sh "make clean test"
}
© 2019 All Rights Reserved. 11
Jenkins and Docker
• Build agents and steps
• Master images
© 2019 All Rights Reserved. 12
Jenkins masters in Docker
• Production - jenkins/jenkins
• Experimental - jenkins4eval
• ARM, ARM 64, IBM s/390, PowerPC 64 LE
© 2019 All Rights Reserved. 13
Official image: jenkins/jenkins
docker run --rm 
-p 8080:8080 
-p 50000:50000 
-v jenkins_home:/var/jenkins_home 
jenkins/jenkins:lts
© 2019 CloudBees, Inc. All Rights Reserved.
Official image: jenkins/jenkins
• Weekly and LTS releases
• No bundled plugins
• Debian, Alpine, Slim, CentOS
• Java 8, Java 11
https://github.com/jenkinsci/docker
© 2019 CloudBees, Inc. All Rights Reserved.
© 2019 All Rights Reserved. 16
Configuration as Code in Jenkins
16
JobsSystem
configuration
© 2019 All Rights Reserved. 17
Extending images
Official images are designed to be extended
Managed as code
© 2019 CloudBees, Inc. All Rights Reserved.
Extending images
Image source:
http://container.farm/special-extended-container/
© 2019 All Rights Reserved. 19
Extending Docker images
Dockerfile
Plugin bundling
Groovy Hooks
Environment and Java Options
Docs: https://github.com/jenkinsci/docker
© 2019 All Rights Reserved. 20
Dockerfile
© 2019 All Rights Reserved. 21
Plugin bundling
21
© 2019 CloudBees, Inc. All Rights Reserved.
Plugin bundling
22
# Pinned version
blueocean:1.8.2
# Latest
antisamy-markup-formatter
matrix-auth:latest
# Latest from the Experimental update center
git-client:experimental
# Incrementals (JEP-305)
workflow-support:incrementals;org.jenkins-ci.plugins.workflow;2.21-rc591.43d37d4d080a
plugins.txt
© 2019 All Rights Reserved. 23
Groovy Hooks [1/2]
• Standard Groovy engine
• Triggered by Jenkins
• Direct access to the runtime
• Extensible hook engine
• 2 hook types in the core: init, boot-failure
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Hook+Script
© 2019 All Rights Reserved. 24
Groovy Hooks [2/2]
Script locations:
• WEB-INF/HOOK.groovy in jenkins.war
• WEB-INF/HOOK.groovy.d/*.groovy in jenkins.war
• $JENKINS_HOME/HOOK.groovy
• $JENKINS_HOME/HOOK.groovy.d/*.groovy
Execution in alphabetical order
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Hook+Script
© 2019 All Rights Reserved. 25
Jenkins Startup Flow
JOBS_LOADED
EXTENSIONS_AUGMENTED
COMPLETED
Groovy Hooks: init()
PLUGINS_STARTED
. . .
© 2019 All Rights Reserved. 26
Example
https://github.com/oleg-nenashev/demo-jenkins-config-as-code
© 2019 All Rights Reserved. 27
Adding Groovy hooks to the standard image
Just put Groovy scripts in the right place!
https://github.com/oleg-nenashev/demo-jenkins-config-as-code
© 2019 All Rights Reserved. 28
More examples
oleg-nenashev/demo-jenkins-config-as-code
Praqma/JenkinsAsCodeReference
librecores/librecores-ci
© 2019 CloudBees, Inc. All Rights Reserved.
Add JCasC Plugin!
Configuration-as-Code Plugin
https://plugins.jenkins.io/configuration-as-code
© 2019 CloudBees, Inc. All Rights Reserved.
JCasC Plugin
● Sub-project in Jenkins
● Feb 2018 - first alpha
● Sep 2018 - 1.0
● Now - 1.27
● Configuration via YAML
jenkinsci/configuration-as-code-plugin
gitter.im/jenkinsci/configuration-as-code-plugin
© 2019 CloudBees, Inc. All Rights Reserved.
jenkins:
systemMessage: "JCasC Demo"
numExecutors: 1
scmCheckoutRetryCount: 4
mode: NORMAL
securityRealm:
local:
allowsSignup: false
users:
- id: demoAdmin
password: ${adminpw}
jenkins.yaml
© 2019 CloudBees, Inc. All Rights Reserved.
• YAML specification
• Configuration export from Jenkins
• CLI and REST API for configuration management
• Pre-flight validations and dry-run
• Support of many plugins out-of-the-box
Features
© 2019 CloudBees, Inc. All Rights Reserved.
Adding JCasC to the Docker image
YAML auto-discovery in 1.0+
Needs JCasC Plugin
…
configuration-as-code:1.27
…
© 2019 CloudBees, Inc. All Rights Reserved.
Comparison
JCasC Plugin Groovy Hooks
YAML – standard declarative
definition
Low barrier to entry
Limited integrations
Forward compatibility risks
External rollback
Apply changes w/o restart
No debugging, YAGNI?
Dry run mode + validation
Export from UI
CLI and REST API for CM
Plugin management
Groovy – general-purpose OOP
language
High barrier to entry
Can manage everything
Compatible if API is stable
External rollback
Restart is required
Debugging support
Plugin Management
© 2019 CloudBees, Inc. All Rights Reserved.
What about CloudBees?
© 2019 CloudBees, Inc. All Rights Reserved.
Products
● All products are available as Docker images
○ https://hub.docker.com/u/cloudbees
● Helm charts for CloudBees Jenkins Distribution
● CloudBees Core runs on-premise or in the cloud
○ Kubernetes
○ Docker
○ Virtual machines
○ Bare metal
© 2019 CloudBees, Inc. All Rights Reserved.
Plugins
● All Jenkins Docker plugins are available to customers
● Extended SLA for several plugins
https://go.cloudbees.com/plugins/
© 2019 CloudBees, Inc. All Rights Reserved.
Plugin Management
● Added value features for Docker
● CloudBees Assurance Program and
Beekeper in all products
○ https://go.cloudbees.com/docs/cloudbees-
documentation/assurance-program/
● Plugin catalog for CloudBees Core
○ https://go.cloudbees.com/docs/plugins/configur
ing-plugin-catalogs/
© 2019 CloudBees, Inc. All Rights Reserved.
CloudBees Assurance
Program
● Verified plugin sets
● Upgrade assistant
● Administrative monitors
● Opt-in automatic upgrade
© 2019 CloudBees, Inc. All Rights Reserved.
Lists the set of plugins, plugin versions and
plugin dependencies that CloudBees has
tested for compatibility and security.
Administrative dashboard provides a
centralized view of the monitored
Jenkins plugins, recommended actions,
and configuration options available.
© 2019 CloudBees, Inc. All Rights Reserved.
JCasC in CloudBees products
● We are working on it! (c)
● Technical Preview for…
○ CloudBees Jenkins Support
○ CloudBees Jenkins Distribution
● Other products - http://bit.ly/cjd-jcasc
http://bit.ly/jcasc-cloudbees
© 2019 CloudBees, Inc. All Rights Reserved.
JCasC in CloudBees Jenkins Distribution
● Combines with CloudBees Assurance Program
● Documentation and Quick Start
○ http://bit.ly/cjd-jcasc
● Demo
○ https://github.com/cloudbees-oss/cjd-jcasc-demo
© 2019 CloudBees, Inc. All Rights Reserved.
https://github.com/cloudbees-oss/cjd-jcasc-demo
© 2019 CloudBees, Inc. All Rights Reserved.
Takeaways
1. Dockerize Jenkins
2. Use & extend official images
3. Use static configurations
4. Use Configuration-as-Code
5. Use Custom WAR/Docker Packager
6. Try CloudBees Jenkins Distribution
© 2019 CloudBees, Inc. All Rights Reserved.
DevOptics
Software Delivery
Visibility & Insights
Core
Unified Software
Delivery &
Governance
CodeShip
CI/CD as a
Service
Flow
Adaptive
Release
Orchestration
DevOps ExcellenceJenkins
CloudBees Jenkins
Distribution
CloudBees Jenkins X
Distribution
24x7 Technical Support
Assisted Updates
Support
Accelerator
Training
Customer Success Managers
DevOps Consultants
Rollout
Feature
Flag
Management
Continuous Delivery Products and Services
Docker and Jenkins [as code]

Mais conteúdo relacionado

Mais procurados

Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016Keith Lynch
 
PLNOG23 - Attilla De Groot - Network change before beer
PLNOG23 - Attilla De Groot - Network change before beerPLNOG23 - Attilla De Groot - Network change before beer
PLNOG23 - Attilla De Groot - Network change before beerPROIDEA
 
DCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDocker, Inc.
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldDevOps.com
 
Relevez les défis Kubernetes avec NGINX
Relevez les défis Kubernetes avec NGINXRelevez les défis Kubernetes avec NGINX
Relevez les défis Kubernetes avec NGINXNGINX, Inc.
 
Moving a Monolith to Kubernetes
Moving a Monolith to KubernetesMoving a Monolith to Kubernetes
Moving a Monolith to KubernetesM. Scott Ford
 
Don’t have a Meltdown! Practical Steps for Defending Your Apps
Don’t have a Meltdown! Practical Steps for Defending Your AppsDon’t have a Meltdown! Practical Steps for Defending Your Apps
Don’t have a Meltdown! Practical Steps for Defending Your AppsDocker, Inc.
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Julien Barbier
 
Migrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADCMigrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADCNGINX, Inc.
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 
Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!Eric Smalling
 
Aws ug dxb 2021 container series iv
Aws ug dxb 2021 container series  ivAws ug dxb 2021 container series  iv
Aws ug dxb 2021 container series ivWalid Shaari
 
Securing danish healthcare using cloudnative
Securing danish healthcare using cloudnativeSecuring danish healthcare using cloudnative
Securing danish healthcare using cloudnativeFrederik Mogensen
 
DevSecOps in a cloudnative world
DevSecOps in a cloudnative worldDevSecOps in a cloudnative world
DevSecOps in a cloudnative worldKarthik Gaekwad
 
Securing Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudSecuring Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudOlivia LaMar
 
Securing Kubernetes Workloads
Securing Kubernetes WorkloadsSecuring Kubernetes Workloads
Securing Kubernetes WorkloadsJim Bugwadia
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDocker, Inc.
 
Architecting for now & the future with NGINX London April 19
Architecting for now & the future with NGINX London April 19Architecting for now & the future with NGINX London April 19
Architecting for now & the future with NGINX London April 19NGINX, Inc.
 
Kubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress ControllerKubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress ControllerKatherine Bagood
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 

Mais procurados (20)

Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016
 
PLNOG23 - Attilla De Groot - Network change before beer
PLNOG23 - Attilla De Groot - Network change before beerPLNOG23 - Attilla De Groot - Network change before beer
PLNOG23 - Attilla De Groot - Network change before beer
 
DCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise Applications
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote World
 
Relevez les défis Kubernetes avec NGINX
Relevez les défis Kubernetes avec NGINXRelevez les défis Kubernetes avec NGINX
Relevez les défis Kubernetes avec NGINX
 
Moving a Monolith to Kubernetes
Moving a Monolith to KubernetesMoving a Monolith to Kubernetes
Moving a Monolith to Kubernetes
 
Don’t have a Meltdown! Practical Steps for Defending Your Apps
Don’t have a Meltdown! Practical Steps for Defending Your AppsDon’t have a Meltdown! Practical Steps for Defending Your Apps
Don’t have a Meltdown! Practical Steps for Defending Your Apps
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014
 
Migrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADCMigrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADC
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!
 
Aws ug dxb 2021 container series iv
Aws ug dxb 2021 container series  ivAws ug dxb 2021 container series  iv
Aws ug dxb 2021 container series iv
 
Securing danish healthcare using cloudnative
Securing danish healthcare using cloudnativeSecuring danish healthcare using cloudnative
Securing danish healthcare using cloudnative
 
DevSecOps in a cloudnative world
DevSecOps in a cloudnative worldDevSecOps in a cloudnative world
DevSecOps in a cloudnative world
 
Securing Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudSecuring Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the Cloud
 
Securing Kubernetes Workloads
Securing Kubernetes WorkloadsSecuring Kubernetes Workloads
Securing Kubernetes Workloads
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTR
 
Architecting for now & the future with NGINX London April 19
Architecting for now & the future with NGINX London April 19Architecting for now & the future with NGINX London April 19
Architecting for now & the future with NGINX London April 19
 
Kubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress ControllerKubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress Controller
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 

Semelhante a Docker and Jenkins [as code]

The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSVMware Tanzu
 
Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmDavid Currie
 
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a proGitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a prosparkfabrik
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Radulescu Adina-Valentina
 
Dockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesDockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesKontena, Inc.
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 
Introduction to Jenkins X - a beginner's guide
Introduction to Jenkins X - a beginner's guideIntroduction to Jenkins X - a beginner's guide
Introduction to Jenkins X - a beginner's guideAndrew Bayer
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWeaveworks
 
#CodefreshLive Event
#CodefreshLive Event#CodefreshLive Event
#CodefreshLive EventCodefresh
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Distributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseDistributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseKurt Madel
 
Javaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsJavaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsAndy Pemberton
 
How to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedNico Meisenzahl
 
Running CI/CD with VMWare Cloud PKS and Jenkins X
Running CI/CD with VMWare Cloud PKS and Jenkins XRunning CI/CD with VMWare Cloud PKS and Jenkins X
Running CI/CD with VMWare Cloud PKS and Jenkins XCojan van Ballegooijen
 
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedNico Meisenzahl
 
Yet Another K8s Installer
Yet Another K8s InstallerYet Another K8s Installer
Yet Another K8s InstallerVMware Tanzu
 
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps ZNetLive
 
Continuous Delivery with CloudBees Core
Continuous Delivery with CloudBees CoreContinuous Delivery with CloudBees Core
Continuous Delivery with CloudBees CoreBhavani Rao
 

Semelhante a Docker and Jenkins [as code] (20)

The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKS
 
Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and Helm
 
Cicd.pdf
Cicd.pdfCicd.pdf
Cicd.pdf
 
Jenkins x gitops
Jenkins x gitopsJenkins x gitops
Jenkins x gitops
 
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a proGitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a pro
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
 
Dockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesDockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best Practices
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
Introduction to Jenkins X - a beginner's guide
Introduction to Jenkins X - a beginner's guideIntroduction to Jenkins X - a beginner's guide
Introduction to Jenkins X - a beginner's guide
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
 
#CodefreshLive Event
#CodefreshLive Event#CodefreshLive Event
#CodefreshLive Event
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Distributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseDistributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
 
Javaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsJavaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with Jenkins
 
How to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being Hacked
 
Running CI/CD with VMWare Cloud PKS and Jenkins X
Running CI/CD with VMWare Cloud PKS and Jenkins XRunning CI/CD with VMWare Cloud PKS and Jenkins X
Running CI/CD with VMWare Cloud PKS and Jenkins X
 
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
 
Yet Another K8s Installer
Yet Another K8s InstallerYet Another K8s Installer
Yet Another K8s Installer
 
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
 
Continuous Delivery with CloudBees Core
Continuous Delivery with CloudBees CoreContinuous Delivery with CloudBees Core
Continuous Delivery with CloudBees Core
 

Mais de Mark Waite

Training as Code - Applying CI/CD to training
Training as Code - Applying CI/CD to trainingTraining as Code - Applying CI/CD to training
Training as Code - Applying CI/CD to trainingMark Waite
 
Lessons from Jenkins Platform Support
Lessons from Jenkins Platform SupportLessons from Jenkins Platform Support
Lessons from Jenkins Platform SupportMark Waite
 
Git for jenkins faster and better
Git for jenkins   faster and betterGit for jenkins   faster and better
Git for jenkins faster and betterMark Waite
 
Docker and Jenkins Pipeline
Docker and Jenkins PipelineDocker and Jenkins Pipeline
Docker and Jenkins PipelineMark Waite
 
To TDD or not to TDD - that is the question
To TDD or not to TDD - that is the questionTo TDD or not to TDD - that is the question
To TDD or not to TDD - that is the questionMark Waite
 
Git in-the-large
Git in-the-largeGit in-the-large
Git in-the-largeMark Waite
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtMark Waite
 
Jenkins For One
Jenkins For OneJenkins For One
Jenkins For OneMark Waite
 

Mais de Mark Waite (8)

Training as Code - Applying CI/CD to training
Training as Code - Applying CI/CD to trainingTraining as Code - Applying CI/CD to training
Training as Code - Applying CI/CD to training
 
Lessons from Jenkins Platform Support
Lessons from Jenkins Platform SupportLessons from Jenkins Platform Support
Lessons from Jenkins Platform Support
 
Git for jenkins faster and better
Git for jenkins   faster and betterGit for jenkins   faster and better
Git for jenkins faster and better
 
Docker and Jenkins Pipeline
Docker and Jenkins PipelineDocker and Jenkins Pipeline
Docker and Jenkins Pipeline
 
To TDD or not to TDD - that is the question
To TDD or not to TDD - that is the questionTo TDD or not to TDD - that is the question
To TDD or not to TDD - that is the question
 
Git in-the-large
Git in-the-largeGit in-the-large
Git in-the-large
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Jenkins For One
Jenkins For OneJenkins For One
Jenkins For One
 

Último

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 

Último (20)

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 

Docker and Jenkins [as code]

  • 1. Docker and Jenkins [as code]
  • 2. Docker and Jenkins [as code] CI/CD TrackCI/CD Track
  • 3. © 2019 All Rights Reserved. 3 Today… 3
  • 4. © 2019 All Rights Reserved. 4 CI/CD. Why containers? Config Management Fast provisioning Clean environments Disposability Clustering 4
  • 5. © 2019 All Rights Reserved. 5 Jenkins and Docker
  • 6. © 2019 CloudBees, Inc. All Rights Reserved. Jenkins & Docker. Packaging https://hub.docker.com/r/jenkins/
  • 7. © 2019 All Rights Reserved. 7 Jenkins and Docker • Build agents and steps
  • 8. © 2019 CloudBees, Inc. All Rights Reserved. Official agent images • jenkins/slave – base image with Remoting • jenkins/jnlp-slave – JNLP agents • jenkins/ssh-slave – SSH agents • jenkins/remoting-kafka-agent – Remoting Kafka Plugin https://hub.docker.com/r/jenkins/
  • 9. © 2019 All Rights Reserved. 9 Jenkins & Docker. Plugins Docker Plugin Docker Pipeline Plugin Docker Custom Build Environment Plugin … Yet Another Docker Plugin Kubernetes Plugin Kubernetes Pipeline Plugin …
  • 10. © 2019 All Rights Reserved. 10 Example: Docker Pipeline Plugin https://plugins.jenkins.io/docker-workflow docker.image('onenashev/gcc-riscv:6.4-rc').inside { checkout scm sh "make clean test" }
  • 11. © 2019 All Rights Reserved. 11 Jenkins and Docker • Build agents and steps • Master images
  • 12. © 2019 All Rights Reserved. 12 Jenkins masters in Docker • Production - jenkins/jenkins • Experimental - jenkins4eval • ARM, ARM 64, IBM s/390, PowerPC 64 LE
  • 13. © 2019 All Rights Reserved. 13 Official image: jenkins/jenkins docker run --rm -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
  • 14. © 2019 CloudBees, Inc. All Rights Reserved. Official image: jenkins/jenkins • Weekly and LTS releases • No bundled plugins • Debian, Alpine, Slim, CentOS • Java 8, Java 11 https://github.com/jenkinsci/docker
  • 15. © 2019 CloudBees, Inc. All Rights Reserved.
  • 16. © 2019 All Rights Reserved. 16 Configuration as Code in Jenkins 16 JobsSystem configuration
  • 17. © 2019 All Rights Reserved. 17 Extending images Official images are designed to be extended Managed as code
  • 18. © 2019 CloudBees, Inc. All Rights Reserved. Extending images Image source: http://container.farm/special-extended-container/
  • 19. © 2019 All Rights Reserved. 19 Extending Docker images Dockerfile Plugin bundling Groovy Hooks Environment and Java Options Docs: https://github.com/jenkinsci/docker
  • 20. © 2019 All Rights Reserved. 20 Dockerfile
  • 21. © 2019 All Rights Reserved. 21 Plugin bundling 21
  • 22. © 2019 CloudBees, Inc. All Rights Reserved. Plugin bundling 22 # Pinned version blueocean:1.8.2 # Latest antisamy-markup-formatter matrix-auth:latest # Latest from the Experimental update center git-client:experimental # Incrementals (JEP-305) workflow-support:incrementals;org.jenkins-ci.plugins.workflow;2.21-rc591.43d37d4d080a plugins.txt
  • 23. © 2019 All Rights Reserved. 23 Groovy Hooks [1/2] • Standard Groovy engine • Triggered by Jenkins • Direct access to the runtime • Extensible hook engine • 2 hook types in the core: init, boot-failure https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Hook+Script
  • 24. © 2019 All Rights Reserved. 24 Groovy Hooks [2/2] Script locations: • WEB-INF/HOOK.groovy in jenkins.war • WEB-INF/HOOK.groovy.d/*.groovy in jenkins.war • $JENKINS_HOME/HOOK.groovy • $JENKINS_HOME/HOOK.groovy.d/*.groovy Execution in alphabetical order https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Hook+Script
  • 25. © 2019 All Rights Reserved. 25 Jenkins Startup Flow JOBS_LOADED EXTENSIONS_AUGMENTED COMPLETED Groovy Hooks: init() PLUGINS_STARTED . . .
  • 26. © 2019 All Rights Reserved. 26 Example https://github.com/oleg-nenashev/demo-jenkins-config-as-code
  • 27. © 2019 All Rights Reserved. 27 Adding Groovy hooks to the standard image Just put Groovy scripts in the right place! https://github.com/oleg-nenashev/demo-jenkins-config-as-code
  • 28. © 2019 All Rights Reserved. 28 More examples oleg-nenashev/demo-jenkins-config-as-code Praqma/JenkinsAsCodeReference librecores/librecores-ci
  • 29. © 2019 CloudBees, Inc. All Rights Reserved. Add JCasC Plugin! Configuration-as-Code Plugin https://plugins.jenkins.io/configuration-as-code
  • 30. © 2019 CloudBees, Inc. All Rights Reserved. JCasC Plugin ● Sub-project in Jenkins ● Feb 2018 - first alpha ● Sep 2018 - 1.0 ● Now - 1.27 ● Configuration via YAML jenkinsci/configuration-as-code-plugin gitter.im/jenkinsci/configuration-as-code-plugin
  • 31. © 2019 CloudBees, Inc. All Rights Reserved. jenkins: systemMessage: "JCasC Demo" numExecutors: 1 scmCheckoutRetryCount: 4 mode: NORMAL securityRealm: local: allowsSignup: false users: - id: demoAdmin password: ${adminpw} jenkins.yaml
  • 32. © 2019 CloudBees, Inc. All Rights Reserved. • YAML specification • Configuration export from Jenkins • CLI and REST API for configuration management • Pre-flight validations and dry-run • Support of many plugins out-of-the-box Features
  • 33. © 2019 CloudBees, Inc. All Rights Reserved. Adding JCasC to the Docker image YAML auto-discovery in 1.0+ Needs JCasC Plugin … configuration-as-code:1.27 …
  • 34. © 2019 CloudBees, Inc. All Rights Reserved. Comparison JCasC Plugin Groovy Hooks YAML – standard declarative definition Low barrier to entry Limited integrations Forward compatibility risks External rollback Apply changes w/o restart No debugging, YAGNI? Dry run mode + validation Export from UI CLI and REST API for CM Plugin management Groovy – general-purpose OOP language High barrier to entry Can manage everything Compatible if API is stable External rollback Restart is required Debugging support Plugin Management
  • 35. © 2019 CloudBees, Inc. All Rights Reserved. What about CloudBees?
  • 36. © 2019 CloudBees, Inc. All Rights Reserved. Products ● All products are available as Docker images ○ https://hub.docker.com/u/cloudbees ● Helm charts for CloudBees Jenkins Distribution ● CloudBees Core runs on-premise or in the cloud ○ Kubernetes ○ Docker ○ Virtual machines ○ Bare metal
  • 37. © 2019 CloudBees, Inc. All Rights Reserved. Plugins ● All Jenkins Docker plugins are available to customers ● Extended SLA for several plugins https://go.cloudbees.com/plugins/
  • 38. © 2019 CloudBees, Inc. All Rights Reserved. Plugin Management ● Added value features for Docker ● CloudBees Assurance Program and Beekeper in all products ○ https://go.cloudbees.com/docs/cloudbees- documentation/assurance-program/ ● Plugin catalog for CloudBees Core ○ https://go.cloudbees.com/docs/plugins/configur ing-plugin-catalogs/
  • 39. © 2019 CloudBees, Inc. All Rights Reserved. CloudBees Assurance Program ● Verified plugin sets ● Upgrade assistant ● Administrative monitors ● Opt-in automatic upgrade
  • 40. © 2019 CloudBees, Inc. All Rights Reserved. Lists the set of plugins, plugin versions and plugin dependencies that CloudBees has tested for compatibility and security. Administrative dashboard provides a centralized view of the monitored Jenkins plugins, recommended actions, and configuration options available.
  • 41. © 2019 CloudBees, Inc. All Rights Reserved. JCasC in CloudBees products ● We are working on it! (c) ● Technical Preview for… ○ CloudBees Jenkins Support ○ CloudBees Jenkins Distribution ● Other products - http://bit.ly/cjd-jcasc http://bit.ly/jcasc-cloudbees
  • 42. © 2019 CloudBees, Inc. All Rights Reserved. JCasC in CloudBees Jenkins Distribution ● Combines with CloudBees Assurance Program ● Documentation and Quick Start ○ http://bit.ly/cjd-jcasc ● Demo ○ https://github.com/cloudbees-oss/cjd-jcasc-demo
  • 43. © 2019 CloudBees, Inc. All Rights Reserved. https://github.com/cloudbees-oss/cjd-jcasc-demo
  • 44. © 2019 CloudBees, Inc. All Rights Reserved. Takeaways 1. Dockerize Jenkins 2. Use & extend official images 3. Use static configurations 4. Use Configuration-as-Code 5. Use Custom WAR/Docker Packager 6. Try CloudBees Jenkins Distribution
  • 45. © 2019 CloudBees, Inc. All Rights Reserved. DevOptics Software Delivery Visibility & Insights Core Unified Software Delivery & Governance CodeShip CI/CD as a Service Flow Adaptive Release Orchestration DevOps ExcellenceJenkins CloudBees Jenkins Distribution CloudBees Jenkins X Distribution 24x7 Technical Support Assisted Updates Support Accelerator Training Customer Success Managers DevOps Consultants Rollout Feature Flag Management Continuous Delivery Products and Services