SlideShare uma empresa Scribd logo
1 de 24
V I K A S G U P T A
Continuos Integration Patterns
Continuous Integration
 Process of building software with every change
committed to a project’s version control repository
Build Patterns
Common Build Patterns
 Automated Build
 Binary Integrity
 Dependency Management
 Consistent Directories
 Staged Builds
Private Build
 Perform a private build prior to committing changes
the repository
Private Build
 Perform a private build prior to committing changes
the repository
Integration Build
 Periodically run the integration build
 WOMM
Continuous Feedback
 Send automatic feedback from CI server to
development team
 Prevent spam
Expeditious Fixes
 Fix build errors as soon as they come
 If the build is failing, don’t update
Developer Documentation
 Generate documentation from build
Build Configuration Patterns
Independent build
 Separate build from IDE
 Build should run from command line
Single Command
 All build and deployment should be run from single
command
 Should not need multiple commands to deploy
Dedicated Machine
 Separate Machine for builds
 WOMM
Externalize Configuration
 Use build-time properties
Database
Externalize Configuration
 Script all database actions
 Late and manual migration is painful
 Add database configuration scripts to SCM tool
Database Sandbox
 Create a lightweight version of your database
 Use lightweight database on developer machines
 Don’t use shared database for development
Database Upgrade
 Use scripts to upgrade the database in each
environment
 Don’t manually apply changes in each target
environment
Testing and Code Quality
Database Upgrade
 Automated Tests
 Categorize Tests
 Continuous Inspection
 Build threshold
Deployment
Deployment Patterns
 Scripted Deployment
 Headless Execution
 Unified Deployment
 Disposable Container
 Environment rollback
Thanks

Mais conteúdo relacionado

Mais procurados

Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
Eugene Sheretov
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitis
Steve Povilaitis
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
Christopher Read
 
Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011
thinkddd
 

Mais procurados (20)

Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
 
Continous integration with jenkins
Continous integration with jenkinsContinous integration with jenkins
Continous integration with jenkins
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
 
Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
 
How TeamCity Shines for You, May 26th Webinar
How TeamCity Shines for You, May 26th WebinarHow TeamCity Shines for You, May 26th Webinar
How TeamCity Shines for You, May 26th Webinar
 
Ci Basics & Jenkins
Ci Basics & JenkinsCi Basics & Jenkins
Ci Basics & Jenkins
 
Contineous integration
Contineous integrationContineous integration
Contineous integration
 
Selenium and Continuous Intergration
Selenium and Continuous IntergrationSelenium and Continuous Intergration
Selenium and Continuous Intergration
 
Enabling Continuous Integration with Azure Pipelines
Enabling Continuous Integration with Azure PipelinesEnabling Continuous Integration with Azure Pipelines
Enabling Continuous Integration with Azure Pipelines
 
Twelve factor apps
Twelve factor appsTwelve factor apps
Twelve factor apps
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and Jenkins
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitis
 
Using TeamCity Inside JetBrains
Using TeamCity Inside JetBrainsUsing TeamCity Inside JetBrains
Using TeamCity Inside JetBrains
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011
 
Feature Based Web Development with Bazaar
Feature Based Web Development with BazaarFeature Based Web Development with Bazaar
Feature Based Web Development with Bazaar
 

Destaque

Oposición al régimen de franco
Oposición al régimen de francoOposición al régimen de franco
Oposición al régimen de franco
Rafael Urías
 
La transición española
La transición españolaLa transición española
La transición española
Rafael Urías
 
La guerra civil española (1936-1939)
La guerra civil española (1936-1939)La guerra civil española (1936-1939)
La guerra civil española (1936-1939)
Rafael Urías
 

Destaque (16)

GdG DevFestMed 2016 - 06/11/2016
GdG DevFestMed 2016 - 06/11/2016GdG DevFestMed 2016 - 06/11/2016
GdG DevFestMed 2016 - 06/11/2016
 
Maven 2 Introduction
Maven 2 IntroductionMaven 2 Introduction
Maven 2 Introduction
 
Question 4 media
Question 4 mediaQuestion 4 media
Question 4 media
 
Becoming a peer specialist and mental health advocate
Becoming a peer specialist and mental health advocateBecoming a peer specialist and mental health advocate
Becoming a peer specialist and mental health advocate
 
Introduction To NHibernate
Introduction To NHibernateIntroduction To NHibernate
Introduction To NHibernate
 
Apache ANT vs Apache Maven
Apache ANT vs Apache MavenApache ANT vs Apache Maven
Apache ANT vs Apache Maven
 
Linux commands and file structure
Linux commands and file structureLinux commands and file structure
Linux commands and file structure
 
Diapositivas tesis final
Diapositivas tesis finalDiapositivas tesis final
Diapositivas tesis final
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Oposición al régimen de franco
Oposición al régimen de francoOposición al régimen de franco
Oposición al régimen de franco
 
Fundamentos ideológicos y bases sociales del régimen de Franco
Fundamentos ideológicos y bases sociales del régimen de FrancoFundamentos ideológicos y bases sociales del régimen de Franco
Fundamentos ideológicos y bases sociales del régimen de Franco
 
La transición española
La transición españolaLa transición española
La transición española
 
La segunda república española
La segunda república españolaLa segunda república española
La segunda república española
 
La guerra civil española (1936-1939)
La guerra civil española (1936-1939)La guerra civil española (1936-1939)
La guerra civil española (1936-1939)
 
DevOps
DevOpsDevOps
DevOps
 

Semelhante a Continuos integration patterns

Continuous integration
Continuous integrationContinuous integration
Continuous integration
Aaron Eden
 
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Atlassian
 
Aleksey_Demedetskiy_Jenkins
Aleksey_Demedetskiy_JenkinsAleksey_Demedetskiy_Jenkins
Aleksey_Demedetskiy_Jenkins
Ciklum
 

Semelhante a Continuos integration patterns (20)

CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integrations & Deployments
Continuous Integrations & DeploymentsContinuous Integrations & Deployments
Continuous Integrations & Deployments
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
 
Jenkins workflows and Best Practices
Jenkins workflows and Best PracticesJenkins workflows and Best Practices
Jenkins workflows and Best Practices
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
 
Aleksey_Demedetskiy_Jenkins
Aleksey_Demedetskiy_JenkinsAleksey_Demedetskiy_Jenkins
Aleksey_Demedetskiy_Jenkins
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
continous integration and delivery
continous integration and deliverycontinous integration and delivery
continous integration and delivery
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous integrations - Basics
Continuous integrations - BasicsContinuous integrations - Basics
Continuous integrations - Basics
 

Último

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
fonyou31
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 

Último (20)

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 

Continuos integration patterns

Notas do Editor

  1. Binary Integrity: Same package should be deployed on each environment. Separate build process should not be deployment on each environment.Consistent Directories: Create a simple, yet well-defined directory structure to optimize software builds and increase cross-project knowledge transfer. Anti-Patterns Putting code, documentation and large files in the same parent directory structure, leading to long-running builds.
  2. Private Workspace : Develop software in private workspace to isolate changesRepository: Commit all files to a version control repositoryMainline:
  3. WOMM: Works on my machine
  4. WOMM: Works on my machine
  5. WOMM: Works on my machine
  6. WOMM: Works on my machine
  7. WOMM: Works on my machine
  8. WOMM: Works on my machine
  9. WOMM: Works on my machine
  10. WOMM: Works on my machine
  11. WOMM: Works on my machine
  12. WOMM: Works on my machine
  13. WOMM: Works on my machine
  14. Categorize: Categorize into unit, integrate, UI, etc. Helps in having targeted builds.Build Threshold: Notify team members of code aberrations such as low code coverage or high cyclomatic complexity. Fail a build when a project rule is violated. Use continuous feedback mechanisms to notify team members.
  15. Headless ExecutionPattern Securely interface with multiple machines without typing a command. Anti-Patterns People manually access machines by logging into each of the machines as different users; then they copy files, configure values, and so on. Unified DeploymentPattern Create a single deployment script capable of running on different platforms and target environments. Anti-Patterns Some may use a different deployment script for each target environment or even for a specific machine. Disposable ContainerAutomate the installation and configuration of Web and database containers by decoupling installation and configuration. Anti-Patterns Manually install and configure containers into each target environment. Remote DeploymentUse a centralized machine or cluster to deploy software to multiple target environments. Anti-Patterns Manually applying deployments locally in each target environment. Environment RollbackProvide an automated Single Command rollback of changes after an unsuccessful deployment. Anti-Patterns Manually rolling back application and database changes.