SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
CI is dead, long live CI!
Frédéric Lepied
Senior Engineering Manager
Member of Technical Staff
Nov 2015
POSS 20152
AGENDA
● Staging CI
● Gating CI
● DIY
Staging CI
POSS 2015
Definition
4
Staging CI
Pipeline of jobs triggered on a new commit in a VCS
Review Change Commit Change Build Artifacts Run Tests
POSS 2015
What do we do when a job fails?
5
Staging CI
According to Jez Humble and David Farley in the reference book
Continuous Delivery:
● “Don’t check in on a broken Build”
● To fix the issue:
○ “Never Go Home on a Broken Build”
○ “Always Be Prepared to Revert to the Previous Revision”
POSS 2015
Mitigation Strategies
6
Staging CI
● Use an integration branch before merging to master
● Run all the tests on the developer workstation before submitting
POSS 2015
Next?
7
Staging CI
So you need discipline to avoid a broken CI.
● Difficult at scale
● Difficult on Free Software projects as the level of implication is not
equal between participants
Gating CI
POSS 2015
Introduction to next gen CI
9
Gating CI
CI is now centered on the code review system:
Review Change Merge ChangeBuild Artifacts Run Tests
● No more broken builds
● Ease the reviewing process by filtering with the tests
● Promote parallel work
POSS 2015
Example of OpenStack
10
Gating CI
This CI process has been implemented by the OpenStack project
successfully. Every day:
● 1,000 proposed patchsets
● 7,500 posted comment and votes on the code review system
● 16,000 test environments spawn
● 250 changes merged
POSS 2015
Components used by the OpenStack CI
11
Gating CI
Local changes
submitted with
git-review
Gerrit code
review system
git.openstack.org
mirror
github
mirror
Zuul Gearman
Jenkins
servers
Nodepool
Jenkins
slaves
POSS 2015
Benefits of the OpenStack CI
12
Gating CI
● No broken master
● Parallel testing using speculative merging
● Cross project dependencies at the changeset level
● Optimized costs by provisioning the slaves on-demand
DIY
POSS 2015
Components
14
DIY
All the components are Free Software projects
● Download from source or pre-built packages
● Puppet modules for easy configuration
POSS 2015
Software Factory
15
DIY
Alternatively, you can use the pre-built integration from softwarefactory-project.io
● ready to use VM with the OpenStack CI components: Gerrit, Zuul, Jenkins and
Nodepool
● Extras:
○ prebuilt integration and delivery pipelines in Zuul
○ SSO
○ web menu and dashboard
○ configuration API and CLI
○ bug tracking system (Redmine)
○ collaboration tools: paste and etherpad
POSS 2015
POSS 2015
POSS 2015
Conclusion
18
DIY
No more broken master!
● re-use OpenStack CI components for your own needs
● help us improve Software Factory
Questions?
Contact: frederic.lepied@redhat.com
@flepied
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

Más contenido relacionado

La actualidad más candente

QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
Rodrigo Russo
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 

La actualidad más candente (20)

Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
DevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for DockerDevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for Docker
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approach
 
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
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 
Jenkins workflows and Best Practices
Jenkins workflows and Best PracticesJenkins workflows and Best Practices
Jenkins workflows and Best Practices
 
Up GitLab Presentation 2015
Up GitLab Presentation 2015Up GitLab Presentation 2015
Up GitLab Presentation 2015
 
Introduction to Git for developers
Introduction to Git for developersIntroduction to Git for developers
Introduction to Git for developers
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Jenkins
JenkinsJenkins
Jenkins
 

Destacado

Nadya ip 9ci
Nadya ip 9ciNadya ip 9ci
Nadya ip 9ci
nadyaipi
 
Same looks, different compo...
Same looks, different compo...Same looks, different compo...
Same looks, different compo...
Ruaidhri Gleeson
 
TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]
Ruaidhri Gleeson
 
4.4 fractional exponents notes 2
4.4 fractional exponents notes 24.4 fractional exponents notes 2
4.4 fractional exponents notes 2
Edith Steeves
 

Destacado (20)

Foire de Caen 2015 - Communiqué de Presse
Foire de Caen 2015 - Communiqué de PresseFoire de Caen 2015 - Communiqué de Presse
Foire de Caen 2015 - Communiqué de Presse
 
Nadya ip 9ci
Nadya ip 9ciNadya ip 9ci
Nadya ip 9ci
 
Same looks, different compo...
Same looks, different compo...Same looks, different compo...
Same looks, different compo...
 
TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]TechStory_CLASA_A4_eng_[1]
TechStory_CLASA_A4_eng_[1]
 
muhammad salman LI ppt
muhammad salman LI pptmuhammad salman LI ppt
muhammad salman LI ppt
 
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
Eli Mansoor, Rackspace - The Rackspace Story, OpenStacl Israel 2015
 
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
Ieeepro techno solutions  ieee java project - privacy-preserving multi-keywor...Ieeepro techno solutions  ieee java project - privacy-preserving multi-keywor...
Ieeepro techno solutions ieee java project - privacy-preserving multi-keywor...
 
Application Management in Openstack
Application Management in Openstack Application Management in Openstack
Application Management in Openstack
 
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
Barak Merimovich (GIgaSpaces) & Gal Moav (Ravello) - Devstack on Demand, Open...
 
HIPERVINCULOS
HIPERVINCULOSHIPERVINCULOS
HIPERVINCULOS
 
4.4 fractional exponents notes 2
4.4 fractional exponents notes 24.4 fractional exponents notes 2
4.4 fractional exponents notes 2
 
How Openstack is Built
How Openstack is BuiltHow Openstack is Built
How Openstack is Built
 
Tarea 3: Competencias informáticas
Tarea 3: Competencias informáticasTarea 3: Competencias informáticas
Tarea 3: Competencias informáticas
 
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
Unix in the Cloud — Ignorance, Stagnation, ObsolescenceUnix in the Cloud — Ignorance, Stagnation, Obsolescence
Unix in the Cloud — Ignorance, Stagnation, Obsolescence
 
Dov Shalev, Kontron - Quantum Leap in Converged Modular Servers for Cloud Inf...
Dov Shalev, Kontron - Quantum Leap in Converged Modular Servers for Cloud Inf...Dov Shalev, Kontron - Quantum Leap in Converged Modular Servers for Cloud Inf...
Dov Shalev, Kontron - Quantum Leap in Converged Modular Servers for Cloud Inf...
 
OpenStack in Production
OpenStack in ProductionOpenStack in Production
OpenStack in Production
 
Heat optimization
Heat optimizationHeat optimization
Heat optimization
 
Livnat Peer & Arthur Berezin, Red Hat - Neutron High Availability - OpenStack...
Livnat Peer & Arthur Berezin, Red Hat - Neutron High Availability - OpenStack...Livnat Peer & Arthur Berezin, Red Hat - Neutron High Availability - OpenStack...
Livnat Peer & Arthur Berezin, Red Hat - Neutron High Availability - OpenStack...
 
The Unambiguous Cloud - Ori Weizman - OpenStack Day Israel 2016
The Unambiguous Cloud - Ori Weizman - OpenStack Day Israel 2016The Unambiguous Cloud - Ori Weizman - OpenStack Day Israel 2016
The Unambiguous Cloud - Ori Weizman - OpenStack Day Israel 2016
 
The IDI Digital Transformation - OpenStack Day Israel 2016
The IDI Digital Transformation - OpenStack Day Israel 2016The IDI Digital Transformation - OpenStack Day Israel 2016
The IDI Digital Transformation - OpenStack Day Israel 2016
 

Similar a CI is dead, long live CI

QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 

Similar a CI is dead, long live CI (20)

Continuous Integration for Configuration Management
Continuous Integration for Configuration ManagementContinuous Integration for Configuration Management
Continuous Integration for Configuration Management
 
Reducing DevOps Burden with Git-based CI/CD Pipelines for APIs
Reducing DevOps Burden with Git-based CI/CD Pipelines for APIsReducing DevOps Burden with Git-based CI/CD Pipelines for APIs
Reducing DevOps Burden with Git-based CI/CD Pipelines for APIs
 
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptxDeploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
 
How can Enterprises benefit from GitOps.pdf
How can  Enterprises benefit from GitOps.pdfHow can  Enterprises benefit from GitOps.pdf
How can Enterprises benefit from GitOps.pdf
 
Continuous integrations - Basics
Continuous integrations - BasicsContinuous integrations - Basics
Continuous integrations - Basics
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.
 
Implementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software QualityImplementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software Quality
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
Nagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using JenkinsNagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using Jenkins
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Automate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsAutomate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOps
 
Starting the DevOps Train
Starting the DevOps TrainStarting the DevOps Train
Starting the DevOps Train
 
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryBuilding and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
Continuous test automation
Continuous test automationContinuous test automation
Continuous test automation
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

CI is dead, long live CI