SlideShare a Scribd company logo
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

More Related Content

Similar to 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 2015
Christian 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 Experience
Peter 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 purpose
Geert van der Cruijsen
 
Single Page Web Apps
Single Page Web AppsSingle Page Web Apps
Single Page Web Apps
Jan 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 2015
Jonas 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 Srbije
Mobile 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 Apps
James 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 Titanium
Liz Myers
 
Hybrid Apps with Ionic Framework
Hybrid Apps with Ionic FrameworkHybrid Apps with Ionic Framework
Hybrid Apps with Ionic Framework
Bramus 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 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
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)
Future Insights
 
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
PROIDEA
 
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
 
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
Pawel Rzepa
 
Leah Culver @ FOWA 08
Leah Culver @ FOWA 08Leah Culver @ FOWA 08
Leah Culver @ FOWA 08
carsonsystems
 
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
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
Simen Sommerfeldt
 

Similar to 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)
 
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
 
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)
 
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...
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
 

More from Jéferson Machado

druid.io
druid.iodruid.io
Apache Spark Internals - Part 2
Apache Spark Internals - Part 2Apache Spark Internals - Part 2
Apache Spark Internals - Part 2
Jéferson Machado
 
Apache Spark
Apache SparkApache Spark
Apache Spark
Jéferson Machado
 
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?
Jéferson Machado
 
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...
Jéferson Machado
 
How to innovate ?
How to innovate ?How to innovate ?
How to innovate ?
Jéferson Machado
 
Management 3.0 (TDC 2015)
Management 3.0 (TDC 2015)Management 3.0 (TDC 2015)
Management 3.0 (TDC 2015)
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
 
Business model generation
Business model generationBusiness model generation
Business model generation
Jéferson Machado
 
Lean & T.O.C
Lean & T.O.CLean & T.O.C
Lean & T.O.C
Jéferson Machado
 
Kanban metrics
Kanban metricsKanban metrics
Kanban metrics
Jéferson Machado
 
Python - basics
Python - basicsPython - basics
Python - basics
Jéferson Machado
 
Apache Pig
Apache PigApache Pig
Apache Pig
Jéferson Machado
 
Apache HBase
Apache HBaseApache HBase
Apache HBase
Jéferson Machado
 
Scala
ScalaScala
Management 3.0
Management 3.0Management 3.0
Management 3.0
Jéferson Machado
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
Jéferson Machado
 
Padrino
PadrinoPadrino
Haskell scala exercises presentation
Haskell scala exercises presentationHaskell scala exercises presentation
Haskell scala exercises presentation
Jéferson Machado
 
RabbitMQ
RabbitMQRabbitMQ

More from 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
 

Recently uploaded

GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 

Recently uploaded (20)

GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 

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