SlideShare a Scribd company logo
Running your Jenkins
infrastructure with ClusterHQ
@RyanWallner
@ClusterHQ
We will cover...
● What is Flocker?
● Why use Flocker with your Jenkins Master?
● 3 main ways to run Jenkins according to DockerHub
● Fungible Jenkins Master
● Separate volumes
● Backups
@RyanWallner
@ClusterHQ
Flocker is a container data volume manager that allows
stateful services to run inside containers in production.
@RyanWallner
@ClusterHQ
Data associated with your Jenkins build pipeline
● Logs
● Job output
● Job configuration
● Update data
● Artifacts
● Libraries
● More!
@RyanWallner
@ClusterHQ
Running your Jenkins master in a container?
Consider how this data is resilient and mobile when the
container restarts, gets rescheduled or when the host running
Jenkins fails.
@RyanWallner
@ClusterHQ
Three main ways to run Jenkins according to DockerHub...
1. All of your data resides inside the container’s own
file-system storage. Most vulnerable to loss.
@RyanWallner
@ClusterHQ
2. Your data is placed into a Docker volume. This means that
the data is within /var/lib/docker/volumes/ but won’t be safe if
you lose your Docker host.
Three main ways to run Jenkins according to DockerHub...
@RyanWallner
@ClusterHQ
Three main ways to run Jenkins according to DockerHub...
3. Mounting in a directory that exists on the Docker host
outside of the Docker file-system. Leaves data vulnerable to
node failure and container movement issues.
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
Start a Jenkins master
with a Flocker volume
using Docker Compose
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
Find your Jenkins admin password by running a command
on your Jenkins container
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
You will be prompted to intall plugins. All plugins will
be stored in /var/jenkins_home/plugins within your
Flocker volume that’s mounted at /var/jenkins_home/
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
You have now added some data to your Jenkins home
directory.
@RyanWallner
@ClusterHQ
We can also verify that our Flocker volume is mounted so all
this data is safely persisted to our EBS Flocker volume.
Fungible Jenkins Master
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
Now ready to handle failover. Instruct docker-compose
to stop and rm -f the Jenkins build and let it start on a
new host.
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
Add a scheduling filter telling it not to deploy to the
server.
@RyanWallner
@ClusterHQ
Fungible Jenkins Master
Restart your Jenkins master backup.
See it on a new node.
@RyanWallner
@ClusterHQ
Note: I am using a fake IP in the ouput,
yours would be different
More options...
@RyanWallner
@ClusterHQ
Separate Volumes
Create separate
volumes for
different parts of
Jenkins config
@RyanWallner
@ClusterHQ
Using a Flocker volume that had plugins pre-loaded,
plugin installation times decreased 4X.
Separate Volumes
@RyanWallner
@ClusterHQ
Jenkins Backup Plugin
Docker Compose file
with a separate
backup volume that
can be used to store
our Jenkins home.
@RyanWallner
@ClusterHQ
Backups
After you run this Jenkins master, you can configure
the backup manager with your Flocker volume.
@RyanWallner
@ClusterHQ
Backups
Recovering your
Jenkins master by
expanding a backup
in a Flocker volume
and using it at your
Jenkins home.
@RyanWallner
@ClusterHQ
You can use the
jenkins_backups
folder as your
$JENKINS_HOME
Backups
@RyanWallner
@ClusterHQ
Bring your Jenkins server
up and you can login like
normal from a point in
time backup from a
Flocker backup volume.
Backups
@RyanWallner
@ClusterHQ
Stay tuned for more on running your CI/CD infrastructure
with container-based data management tools from
ClusterHQ.
@RyanWallner
@ClusterHQ

More Related Content

What's hot

Spring Cloud and Netflix Components
Spring Cloud and Netflix ComponentsSpring Cloud and Netflix Components
Spring Cloud and Netflix Components
Dharshan Sastry B N
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Carlos Sanchez
 

What's hot (20)

Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with Kubernetes
 
Minikube Workshop Handout
Minikube Workshop HandoutMinikube Workshop Handout
Minikube Workshop Handout
 
Beyond static configuration
Beyond static configurationBeyond static configuration
Beyond static configuration
 
What's new in Kubernetes
What's new in KubernetesWhat's new in Kubernetes
What's new in Kubernetes
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015
 
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
 
Kubernetes: Container Orchestration for Production-grade People
Kubernetes: Container Orchestration for Production-grade PeopleKubernetes: Container Orchestration for Production-grade People
Kubernetes: Container Orchestration for Production-grade People
 
Fact-Based Monitoring - PuppetConf 2014
Fact-Based Monitoring - PuppetConf 2014Fact-Based Monitoring - PuppetConf 2014
Fact-Based Monitoring - PuppetConf 2014
 
Spring Cloud and Netflix Components
Spring Cloud and Netflix ComponentsSpring Cloud and Netflix Components
Spring Cloud and Netflix Components
 
Using Puppet To Manage Splunk
Using Puppet To Manage SplunkUsing Puppet To Manage Splunk
Using Puppet To Manage Splunk
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
 
Running & Monitoring Docker at Scale
Running & Monitoring Docker at ScaleRunning & Monitoring Docker at Scale
Running & Monitoring Docker at Scale
 
Docker for Fun and Profit
Docker for Fun and ProfitDocker for Fun and Profit
Docker for Fun and Profit
 
Continuous Kernel Integration
Continuous Kernel IntegrationContinuous Kernel Integration
Continuous Kernel Integration
 
Ms app 1.5.1-msinfra-bestpracticesguide
Ms app 1.5.1-msinfra-bestpracticesguideMs app 1.5.1-msinfra-bestpracticesguide
Ms app 1.5.1-msinfra-bestpracticesguide
 
Orchestrating VM & Container Deployments
Orchestrating VM & Container DeploymentsOrchestrating VM & Container Deployments
Orchestrating VM & Container Deployments
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes API
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent data
 
Using Containers for Continuous Integration and Continuous Delivery. KubeCon ...
Using Containers for Continuous Integration and Continuous Delivery. KubeCon ...Using Containers for Continuous Integration and Continuous Delivery. KubeCon ...
Using Containers for Continuous Integration and Continuous Delivery. KubeCon ...
 

Similar to Running your Jenkins Infrastructure with ClusterHQ

April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
Yahoo Developer Network
 

Similar to Running your Jenkins Infrastructure with ClusterHQ (20)

Jenkins Tutorial.pdf
Jenkins Tutorial.pdfJenkins Tutorial.pdf
Jenkins Tutorial.pdf
 
YARN and the Docker container runtime
YARN and the Docker container runtimeYARN and the Docker container runtime
YARN and the Docker container runtime
 
OSDC 2015: Matthias Klein | How to use Open Source Software to have near Prod...
OSDC 2015: Matthias Klein | How to use Open Source Software to have near Prod...OSDC 2015: Matthias Klein | How to use Open Source Software to have near Prod...
OSDC 2015: Matthias Klein | How to use Open Source Software to have near Prod...
 
DCSF19 Containers for Beginners
DCSF19 Containers for BeginnersDCSF19 Containers for Beginners
DCSF19 Containers for Beginners
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
April 2016 HUG: The latest of Apache Hadoop YARN and running your docker apps...
 
Percona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient BackupsPercona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient Backups
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Nova
 
Percona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ MumbaiPercona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ Mumbai
 
Un jenkins amélioré avec docker mesos et marathon à Devoxx 2015
Un jenkins amélioré avec docker mesos et marathon à Devoxx 2015Un jenkins amélioré avec docker mesos et marathon à Devoxx 2015
Un jenkins amélioré avec docker mesos et marathon à Devoxx 2015
 
Jenkins log monitoring with elk stack
Jenkins log monitoring with elk stackJenkins log monitoring with elk stack
Jenkins log monitoring with elk stack
 
Using Containers for Continuous Integration and Continuous Delivery
Using Containers for Continuous Integration and Continuous DeliveryUsing Containers for Continuous Integration and Continuous Delivery
Using Containers for Continuous Integration and Continuous Delivery
 
Using containers for continuous integration and continuous delivery - Carlos ...
Using containers for continuous integration and continuous delivery - Carlos ...Using containers for continuous integration and continuous delivery - Carlos ...
Using containers for continuous integration and continuous delivery - Carlos ...
 
Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017
 
LXC NSAttach
LXC NSAttachLXC NSAttach
LXC NSAttach
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetes
 
Containerize everything - Wildcardconf 2015
Containerize everything - Wildcardconf 2015Containerize everything - Wildcardconf 2015
Containerize everything - Wildcardconf 2015
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
How to successfully migrate to Bazel from Maven or Gradle - JeeConf
How to successfully migrate to Bazel from Maven or Gradle - JeeConfHow to successfully migrate to Bazel from Maven or Gradle - JeeConf
How to successfully migrate to Bazel from Maven or Gradle - JeeConf
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 

Recently uploaded

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
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
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 

Running your Jenkins Infrastructure with ClusterHQ

  • 1. Running your Jenkins infrastructure with ClusterHQ @RyanWallner @ClusterHQ
  • 2. We will cover... ● What is Flocker? ● Why use Flocker with your Jenkins Master? ● 3 main ways to run Jenkins according to DockerHub ● Fungible Jenkins Master ● Separate volumes ● Backups @RyanWallner @ClusterHQ
  • 3. Flocker is a container data volume manager that allows stateful services to run inside containers in production. @RyanWallner @ClusterHQ
  • 4. Data associated with your Jenkins build pipeline ● Logs ● Job output ● Job configuration ● Update data ● Artifacts ● Libraries ● More! @RyanWallner @ClusterHQ
  • 5. Running your Jenkins master in a container? Consider how this data is resilient and mobile when the container restarts, gets rescheduled or when the host running Jenkins fails. @RyanWallner @ClusterHQ
  • 6. Three main ways to run Jenkins according to DockerHub... 1. All of your data resides inside the container’s own file-system storage. Most vulnerable to loss. @RyanWallner @ClusterHQ
  • 7. 2. Your data is placed into a Docker volume. This means that the data is within /var/lib/docker/volumes/ but won’t be safe if you lose your Docker host. Three main ways to run Jenkins according to DockerHub... @RyanWallner @ClusterHQ
  • 8. Three main ways to run Jenkins according to DockerHub... 3. Mounting in a directory that exists on the Docker host outside of the Docker file-system. Leaves data vulnerable to node failure and container movement issues. @RyanWallner @ClusterHQ
  • 9. Fungible Jenkins Master Start a Jenkins master with a Flocker volume using Docker Compose @RyanWallner @ClusterHQ
  • 10. Fungible Jenkins Master Find your Jenkins admin password by running a command on your Jenkins container @RyanWallner @ClusterHQ
  • 11. Fungible Jenkins Master You will be prompted to intall plugins. All plugins will be stored in /var/jenkins_home/plugins within your Flocker volume that’s mounted at /var/jenkins_home/ @RyanWallner @ClusterHQ
  • 12. Fungible Jenkins Master You have now added some data to your Jenkins home directory. @RyanWallner @ClusterHQ
  • 13. We can also verify that our Flocker volume is mounted so all this data is safely persisted to our EBS Flocker volume. Fungible Jenkins Master @RyanWallner @ClusterHQ
  • 14. Fungible Jenkins Master Now ready to handle failover. Instruct docker-compose to stop and rm -f the Jenkins build and let it start on a new host. @RyanWallner @ClusterHQ
  • 15. Fungible Jenkins Master Add a scheduling filter telling it not to deploy to the server. @RyanWallner @ClusterHQ
  • 16. Fungible Jenkins Master Restart your Jenkins master backup. See it on a new node. @RyanWallner @ClusterHQ Note: I am using a fake IP in the ouput, yours would be different
  • 18. Separate Volumes Create separate volumes for different parts of Jenkins config @RyanWallner @ClusterHQ
  • 19. Using a Flocker volume that had plugins pre-loaded, plugin installation times decreased 4X. Separate Volumes @RyanWallner @ClusterHQ
  • 20. Jenkins Backup Plugin Docker Compose file with a separate backup volume that can be used to store our Jenkins home. @RyanWallner @ClusterHQ
  • 21. Backups After you run this Jenkins master, you can configure the backup manager with your Flocker volume. @RyanWallner @ClusterHQ
  • 22. Backups Recovering your Jenkins master by expanding a backup in a Flocker volume and using it at your Jenkins home. @RyanWallner @ClusterHQ
  • 23. You can use the jenkins_backups folder as your $JENKINS_HOME Backups @RyanWallner @ClusterHQ
  • 24. Bring your Jenkins server up and you can login like normal from a point in time backup from a Flocker backup volume. Backups @RyanWallner @ClusterHQ
  • 25. Stay tuned for more on running your CI/CD infrastructure with container-based data management tools from ClusterHQ. @RyanWallner @ClusterHQ