SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Continues Integration

         Johan Aludden
     Twitter: johanaludden
  Mail: me@johanaludden.com
Blog: johanaludden.com/weblog
What is Continues Integration?
•   Compile continuously
•   Test continuously
•   Prepare installation continuously
•   Measure quality continuously
•   Create documentation continuously




                                   2
Components
•   Developers
•   Version Control Repository
•   CI server
•   Build script
•   Feedback
•   Integration Build Machine




                                 3
Developers
• Makes Changes to code
• Runs a private Build
• Commits changes




                          4
Version Control Repository
•   Central point of truth
•   Good Practice
•   History
•   CVS, SVN, Perforce, Git




                              5
CI server
•   Checks for changes
•   Retrieves changes
•   Runs build script(s)
•   Dashboard




                            6
Build Script
• Automated
• Complete
• Launched from Command line




                               7
Feedback
•   Email
•   Instant messaging
•   SMS
•   RSS
•   Sounds
•   Monitor



                          8
Integration Build Machine
• Dedicated
• The reference




                         9
Benefits
•   Risk reduction
•   Less repetition
•   Generate Deployable Software
•   Increase Visibility
•   More Confidence




                                   10
Excuses
•   Increasing maintenance
•   Too much change
•   Frequently failed builds
•   Additional cost
•   Should already be made




                               11
First steps
•   Centralized repository
•   Compile code
•   Package binaries
•   Add testing
•   Add inspections




                             12
Common Problems
•   Long build time
•   Frequently failed builds
•   To much information
•   Many target platforms




                               13
Long build time
• Make it faster
• Split and run in Parallell
• Split and run in Sequence




                               14
Frequently failed builds
•   Are all committed?
•   Can the devs run on local machine?
•   Code to fragile?
•   Tests to fragile?




                                    15
To much information
•   Is all information necessary
•   What information can be removed
•   Multiple source of information
•   Pull not push
•   Visualize information




                                  16
Many target platforms
• One CI server per platform
• Compile code
• Package binaries




                               17
Pipelines
• Jobs
  – Runs in Parallell
• Stages
  – Runs in sequence
  – contains 1 or more jobs




                              18
Pipeline




           19
Pipeline

Stage




           19
Pipeline

Stage
  Job

  Job




           19
Pipeline

Stage      Stage
  Job       Job

  Job       Job




                   19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           19
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
Pipeline

Stage      Stage   Stage
  Job       Job     Job
  Job       Job




                           20
CI servers
•   CruiseControl
•   Hudson
•   Cruise
•   Bamboo




                            21
Links
• Martin Fowler (http://martinfowler.com/articles/continuousIntegration.html)
• Book (http://www.amazon.com/Continuous-Integration-Improving-Software-
   Reducing/dp/0321336380)

• CruiseControl (http://cruisecontrol.sourceforge.net/)
• Hudson (https://hudson.dev.java.net/)
• WikiPedia (http://en.wikipedia.org/wiki/Continuous_integration/)




                                                                     22
Questions?




             23

Mais conteúdo relacionado

Semelhante a Continues Integration

Kanban Method July 2018
Kanban Method July 2018Kanban Method July 2018
Kanban Method July 2018Rodrigo Vieira
 
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...DevOps_Fest
 
VersaPay's Tools for Happyfficient Developers
VersaPay's Tools for Happyfficient DevelopersVersaPay's Tools for Happyfficient Developers
VersaPay's Tools for Happyfficient DevelopersPhilippe Creux
 
Orbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeOrbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeConSanFrancisco123
 
Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Keith Casey
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Marcin Grzejszczak
 
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう! "はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう! Junji Nishihara
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)account inactive
 

Semelhante a Continues Integration (10)

Kanban Method July 2018
Kanban Method July 2018Kanban Method July 2018
Kanban Method July 2018
 
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
 
VersaPay's Tools for Happyfficient Developers
VersaPay's Tools for Happyfficient DevelopersVersaPay's Tools for Happyfficient Developers
VersaPay's Tools for Happyfficient Developers
 
Concourse updates
Concourse updatesConcourse updates
Concourse updates
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Orbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeOrbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And Change
 
Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう! "はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
"はじめてのKong Konnect" APIゲートウェイと Service Meshについて学ぼう!
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
 

Último

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Continues Integration