SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a Continuous integration

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 2015Christian Heilmann
 
Design for Multitouch
Design for Multitouch Design for Multitouch
Design for Multitouch Robert Winters
 
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 ExperiencePeter Rozek
 
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
 
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 purposeGeert van der Cruijsen
 
Single Page Web Apps
Single Page Web AppsSingle Page Web Apps
Single Page Web AppsJan Monschke
 
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 2015Jonas Rosland
 
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 SrbijeMobile Monday Srbija
 
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 AppsJames Montemagno
 
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 TitaniumLiz Myers
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkBramus Van Damme
 
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 2013Nick 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 bugsOWASP
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Future Insights
 
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 - finalAndrew White
 
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)Maciej Lasyk
 
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 LasykPROIDEA
 
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 bugsPawel Rzepa
 
Leah Culver @ FOWA 08
Leah Culver @ FOWA 08Leah Culver @ FOWA 08
Leah Culver @ FOWA 08carsonsystems
 
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...Codemotion
 

Semelhante a 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...
 

Mais de 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
 

Último

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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 TerraformAndrey Devyatkin
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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, Adobeapidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
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 WorkerThousandEyes
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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.pdfOrbitshub
 
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, ...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Último (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
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, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+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...
 

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