SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
CONTINUOUS INTEGRATION	
  



                        Social	
  network	
  informa0on	
  
                        http://twitter.com/jefersonm          https://github.com/jefersonm/
Jéferson Machado
So#ware	
  Design	
     http://facebook.com/jefe.machado      http://slideshare.net/jefersonm
BUILDING A FEATURE WITH
CONTINUOUS INTEGRATION 	
  
PRACTICES OF CONTINUOUS
              INTEGRATION
•  MAINTAIN A SINGLE SOURCE REPOSITORY.
•  AUTOMATE THE BUILD
•  MAKE YOUR BUILD SELF-TESTING
•  EVERYONE COMMITS TO THE MAINLINE EVERY DAY
•  EVERY COMMIT SHOULD BUILD THE MAINLINE ON AN INTEGRATION
   MACHINE
•  KEEP THE BUILD FAST
•  TEST IN A CLONE OF THE PRODUCTION ENVIRONMENT
•  EVERYONE CAN SEE WHAT'S HAPPENING
MAINTAIN A SINGLE SOURCE
       REPOSITORY.
AUTOMATE THE BUILD



           RAKE	
  
MAKE YOUR BUILD SELF-TESTING
EVERYONE COMMITS TO THE
            MAINLINE EVERY DAY
                       COMMIT FREQUENTLY
                       (HOURS)	
  
SPLIT YOUR WORK INTO
TASKS	
  
EVERY COMMIT SHOULD BUILD THE
  MAINLINE ON AN INTEGRATION
           MACHINE


       TWO OPTIONS:

       1- MANUALLY
       2- AUTOMATICALLY	
  
KEEP THE BUILD FAST




         TWO STAGE BUILDS:

         1- UNIT TESTS
         2- INTEGRATION TESTS	
  
TEST IN A CLONE OF THE
      PRODUCTION ENVIRONMENT


TEST ENV                  PROD ENV
-    OPERATIONAL SYSTEM   -    OPERATIONAL SYSTEM
-    DATABASE SOFTWARE    -    DATABASE SOFTWARE
-    LIBRARIES            -    LIBRARIES
-    IP ADDRESS           -    IP ADDRESS
-    PORTS                -    PORTS
EVERYONE CAN SEE WHAT'S
       HAPPENING
BENEFITS OF CONTINUOUS
      INTEGRATION	
  
If	
  you	
  break	
  the	
  build	
  I’ll	
  
                                                                       charge	
  you!!!	
  
                                                                                	
  
                                                                     Thank	
  you..	
  Bééé!!	
  




                        Social	
  network	
  informa0on	
  
                        http://twitter.com/jefersonm          https://github.com/jefersonm/
Jéferson Machado
So#ware	
  Design	
     http://facebook.com/jefe.machado      http://slideshare.net/jefersonm

Weitere ähnliche Inhalte

Ähnlich wie Continuous integration

The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)
Chris Wilson
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Nick Galbreath
 
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
OWASP
 
Bright talk if they cant use it, it doesnt work - final
Bright talk   if they cant use it, it doesnt work - finalBright talk   if they cant use it, it doesnt work - final
Bright talk if they cant use it, it doesnt work - final
Andrew White
 

Ähnlich wie Continuous integration (20)

Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
 
Design for Multitouch
Design for Multitouch Design for Multitouch
Design for Multitouch
 
Designing the Priority, Performance ist User Experience
Designing the Priority, Performance ist User ExperienceDesigning the Priority, Performance ist User Experience
Designing the Priority, Performance ist User Experience
 
The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)The convergence of all things (wdu keynote)
The convergence of all things (wdu keynote)
 
Chaos engineering - The art of breaking stuff in production on purpose
Chaos engineering - The art of breaking stuff in production on purposeChaos engineering - The art of breaking stuff in production on purpose
Chaos engineering - The art of breaking stuff in production on purpose
 
Single Page Web Apps
Single Page Web AppsSingle Page Web Apps
Single Page Web Apps
 
Docker 101 - DevOps at EMC May 2015
Docker 101 - DevOps at EMC May 2015Docker 101 - DevOps at EMC May 2015
Docker 101 - DevOps at EMC May 2015
 
Aleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeAleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz Srbije
 
C# Powered Robots, C# Powered Mobile Apps
C# Powered Robots, C# Powered Mobile AppsC# Powered Robots, C# Powered Mobile Apps
C# Powered Robots, C# Powered Mobile Apps
 
From Zero to App-Super-Hero with Titanium
From Zero to App-Super-Hero with TitaniumFrom Zero to App-Super-Hero with Titanium
From Zero to App-Super-Hero with Titanium
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic Framework
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)
 
Bright talk if they cant use it, it doesnt work - final
Bright talk   if they cant use it, it doesnt work - finalBright talk   if they cant use it, it doesnt work - final
Bright talk if they cant use it, it doesnt work - final
 
Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)
 
4Developers 2015: Under the dome (of failure driven pipeline) - Maciej Lasyk
4Developers 2015: Under the dome (of failure driven pipeline) - Maciej Lasyk4Developers 2015: Under the dome (of failure driven pipeline) - Maciej Lasyk
4Developers 2015: Under the dome (of failure driven pipeline) - Maciej Lasyk
 
Fuzzing underestimated method of finding hidden bugs
Fuzzing underestimated method of finding hidden bugsFuzzing underestimated method of finding hidden bugs
Fuzzing underestimated method of finding hidden bugs
 
Leah Culver @ FOWA 08
Leah Culver @ FOWA 08Leah Culver @ FOWA 08
Leah Culver @ FOWA 08
 
No more excuses left - let's build great things - Christian Heilmann - Codemo...
No more excuses left - let's build great things - Christian Heilmann - Codemo...No more excuses left - let's build great things - Christian Heilmann - Codemo...
No more excuses left - let's build great things - Christian Heilmann - Codemo...
 

Mehr von Jéferson Machado

Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.
Jéferson Machado
 
Haskell scala exercises presentation
Haskell scala exercises presentationHaskell scala exercises presentation
Haskell scala exercises presentation
Jéferson Machado
 

Mehr von Jéferson Machado (20)

druid.io
druid.iodruid.io
druid.io
 
Apache Spark Internals - Part 2
Apache Spark Internals - Part 2Apache Spark Internals - Part 2
Apache Spark Internals - Part 2
 
Apache Spark
Apache SparkApache Spark
Apache Spark
 
Node.js, is it the solution for every problem?
Node.js, is it the solution for every problem?Node.js, is it the solution for every problem?
Node.js, is it the solution for every problem?
 
Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...
Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...
Plano de carreira, isso funciona ? Me consegue uma bússola por favor. (Agile...
 
How to innovate ?
How to innovate ?How to innovate ?
How to innovate ?
 
Management 3.0 (TDC 2015)
Management 3.0 (TDC 2015)Management 3.0 (TDC 2015)
Management 3.0 (TDC 2015)
 
Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.Management 3.0, como evoluir pessoas em conjunto com sua organização.
Management 3.0, como evoluir pessoas em conjunto com sua organização.
 
Business model generation
Business model generationBusiness model generation
Business model generation
 
Lean & T.O.C
Lean & T.O.CLean & T.O.C
Lean & T.O.C
 
Kanban metrics
Kanban metricsKanban metrics
Kanban metrics
 
Python - basics
Python - basicsPython - basics
Python - basics
 
Apache Pig
Apache PigApache Pig
Apache Pig
 
Apache HBase
Apache HBaseApache HBase
Apache HBase
 
Scala
ScalaScala
Scala
 
Management 3.0
Management 3.0Management 3.0
Management 3.0
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
Padrino
PadrinoPadrino
Padrino
 
Haskell scala exercises presentation
Haskell scala exercises presentationHaskell scala exercises presentation
Haskell scala exercises presentation
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Continuous integration

  • 1. CONTINUOUS INTEGRATION   Social  network  informa0on   http://twitter.com/jefersonm https://github.com/jefersonm/ Jéferson Machado So#ware  Design   http://facebook.com/jefe.machado http://slideshare.net/jefersonm
  • 2. BUILDING A FEATURE WITH CONTINUOUS INTEGRATION  
  • 3. PRACTICES OF CONTINUOUS INTEGRATION •  MAINTAIN A SINGLE SOURCE REPOSITORY. •  AUTOMATE THE BUILD •  MAKE YOUR BUILD SELF-TESTING •  EVERYONE COMMITS TO THE MAINLINE EVERY DAY •  EVERY COMMIT SHOULD BUILD THE MAINLINE ON AN INTEGRATION MACHINE •  KEEP THE BUILD FAST •  TEST IN A CLONE OF THE PRODUCTION ENVIRONMENT •  EVERYONE CAN SEE WHAT'S HAPPENING
  • 4. MAINTAIN A SINGLE SOURCE REPOSITORY.
  • 6. MAKE YOUR BUILD SELF-TESTING
  • 7. EVERYONE COMMITS TO THE MAINLINE EVERY DAY COMMIT FREQUENTLY (HOURS)   SPLIT YOUR WORK INTO TASKS  
  • 8. EVERY COMMIT SHOULD BUILD THE MAINLINE ON AN INTEGRATION MACHINE TWO OPTIONS: 1- MANUALLY 2- AUTOMATICALLY  
  • 9. KEEP THE BUILD FAST TWO STAGE BUILDS: 1- UNIT TESTS 2- INTEGRATION TESTS  
  • 10. TEST IN A CLONE OF THE PRODUCTION ENVIRONMENT TEST ENV PROD ENV -  OPERATIONAL SYSTEM -  OPERATIONAL SYSTEM -  DATABASE SOFTWARE -  DATABASE SOFTWARE -  LIBRARIES -  LIBRARIES -  IP ADDRESS -  IP ADDRESS -  PORTS -  PORTS
  • 11. EVERYONE CAN SEE WHAT'S HAPPENING
  • 12. BENEFITS OF CONTINUOUS INTEGRATION  
  • 13. If  you  break  the  build  I’ll   charge  you!!!     Thank  you..  Bééé!!   Social  network  informa0on   http://twitter.com/jefersonm https://github.com/jefersonm/ Jéferson Machado So#ware  Design   http://facebook.com/jefe.machado http://slideshare.net/jefersonm