O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
CI/CD with OpenShift and Jenkins
by Ari LiVigni, Michal Fojtik, and Aaron Weitekamp
Agenda
● Introduction and Goals
● Jenkins Master/Slave Setup and Tools
● CI/CD Workflow and Pipeline
● Demo
● Q&A
Why Containers?
● Speed
● Agility (Cattle vs Pets)
● Microservices are real
● Ephemeral nature enforces persistent data vo...
Why OpenShift?
● Run containers in cluster, DNS routing
● Application blueprints (templatize microservices)
● Integrated c...
● Generalize a container-based CI/CD pipeline
1. Test every code change automatically
2. Build image and promote manually
...
Jenkins on OpenShift
● Master / Slave
● S2I allows customization of Jenkins image
● Template to turn any builder image int...
Jenkins Job Builder
● Jenkins jobs defined locally as YAML templates,
uploaded as XML to any Jenkins Master
● Templating r...
CI/CD Workflow/Pipeline
Enough talk
Show me the demo!
Conclusion
● Creating a custom CI/CD pipeline should be easy
● Openshift Roadmap, release v3.3
○ Example https://github.co...
References
● OpenShift CI
○ Openshift Jenkins https://github.com/openshift/jenkins
○ Example https://github.com/arilivigni...
Próximos SlideShares
Carregando em…5
×

CI/CD with Openshift and Jenkins

2.318 visualizações

Publicada em

Openshift has the mechanism for building and deploying applications and Jenkins is a tool use for continuous integration/delivery/deployment. If we combine these together we can create a CI/CD pipeline that will allow us to promote builds of applications and make them available in our OSE instance.

Video - https://youtu.be/IreIK-jICgY

Publicada em: Software
  • Seja o primeiro a comentar

CI/CD with Openshift and Jenkins

  1. 1. CI/CD with OpenShift and Jenkins by Ari LiVigni, Michal Fojtik, and Aaron Weitekamp
  2. 2. Agenda ● Introduction and Goals ● Jenkins Master/Slave Setup and Tools ● CI/CD Workflow and Pipeline ● Demo ● Q&A
  3. 3. Why Containers? ● Speed ● Agility (Cattle vs Pets) ● Microservices are real ● Ephemeral nature enforces persistent data volume ● Portability / reproducibility
  4. 4. Why OpenShift? ● Run containers in cluster, DNS routing ● Application blueprints (templatize microservices) ● Integrated components and services: Builds, Docker Registry, Jenkins and more... ● Source-to-Image (S2I)
  5. 5. ● Generalize a container-based CI/CD pipeline 1. Test every code change automatically 2. Build image and promote manually 3. Deploy to Stage 4. Deploy to Production ● Prevent promotion of broken builds Goals
  6. 6. Jenkins on OpenShift ● Master / Slave ● S2I allows customization of Jenkins image ● Template to turn any builder image into a Jenkins slave ○ Slaves reach out to Jenkins and download JNLP Java agent ○ Slave provides same environment as application runtime ○ Slaves run as Pods and are started on-demand
  7. 7. Jenkins Job Builder ● Jenkins jobs defined locally as YAML templates, uploaded as XML to any Jenkins Master ● Templating reduces redundancy in Jenkins jobs ● Maintain YAML, not XML ● Promotes source control management
  8. 8. CI/CD Workflow/Pipeline
  9. 9. Enough talk Show me the demo!
  10. 10. Conclusion ● Creating a custom CI/CD pipeline should be easy ● Openshift Roadmap, release v3.3 ○ Example https://github.com/arilivigni/openshift-ci-pipeline ○ Openshift Jenkins Plugin ● Add Delivery Pipeline plugin to show visualization ● Add more features to JJB for Promoted Build plugin
  11. 11. References ● OpenShift CI ○ Openshift Jenkins https://github.com/openshift/jenkins ○ Example https://github.com/arilivigni/openshift-ci-pipeline ○ Vagrant quickstart https://www.openshift.org/vm/ ○ Video https://youtu.be/IreIK-jICgY ● Jenkins Plugins ○ Promoted builds plugin https://wiki.jenkins-ci. org/display/JENKINS/Promoted+Builds+Plugin ○ OpenShift pipeline plugin https://wiki.jenkins-ci.org/display/JENKINS/OpenShift+Pipeline+Plugin

×