SlideShare a Scribd company logo
continuousDave Cameronintegration
continuous
integration
Software development is a "game", a game of speed and cooperation within your team, in competition against other teams.
the team sets their own rulesbut everyone follows them together
automatically apply an agreedset of rules
some rules to start with…
maintain a single source repositoryautomate the project’s buildmake your build self-testingtests run locally before commiteveryone commits to mainline every dayevery commit builds on an integration machinekeep the build fastbuild in a clone of the production environmenteasy for anyone to visit the latest siteeveryone can see what’s happeningautomate deployment
???

More Related Content

PDF
Dev ops: Continuous delivery and Windows Azure
PPTX
Continuous integration
PDF
Deploy Angular to the Cloud
PDF
Setup Build & Deploy with Jenkins CI
PPTX
DockerCon 17 EU: Modernizing .NET Apps with Docker
PPTX
Xpirit MeetUp: Docker Windows Workshop
PPTX
Linuxing in London: Docker Intro Workshop
PPTX
DockerCon EU 2017 - Docker on Windows workshop
Dev ops: Continuous delivery and Windows Azure
Continuous integration
Deploy Angular to the Cloud
Setup Build & Deploy with Jenkins CI
DockerCon 17 EU: Modernizing .NET Apps with Docker
Xpirit MeetUp: Docker Windows Workshop
Linuxing in London: Docker Intro Workshop
DockerCon EU 2017 - Docker on Windows workshop

What's hot (19)

PPTX
PowerCLI administration with a Windows Docker image
PPTX
NWJS. Web on desktop
PPTX
PPTX
Continuous integration per le tue applicazioni mobile
PDF
Testing the way it should be
PDF
Bamboo Continuous Integration Server - Brief
PPTX
Dockerizing react app
PDF
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
PPTX
ContainerSched 2017: Why Containers Will Take Over the World
PPTX
PPTX
Build testable react app
PDF
Build safe environment for software developers
PPTX
Deploy an Asp.Net Core App on Azure
PPTX
Deploy applications with TFS Build
PPTX
React native on windows
PPTX
Ember js installation and create sample project, EmberJS Version check
PPTX
Visual Testing Of Web Apps in a Headless Environment
PDF
Component testing with cypress
PPTX
Introduction to Puppet Enterprise 2016.2
PowerCLI administration with a Windows Docker image
NWJS. Web on desktop
Continuous integration per le tue applicazioni mobile
Testing the way it should be
Bamboo Continuous Integration Server - Brief
Dockerizing react app
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
ContainerSched 2017: Why Containers Will Take Over the World
Build testable react app
Build safe environment for software developers
Deploy an Asp.Net Core App on Azure
Deploy applications with TFS Build
React native on windows
Ember js installation and create sample project, EmberJS Version check
Visual Testing Of Web Apps in a Headless Environment
Component testing with cypress
Introduction to Puppet Enterprise 2016.2
Ad

Viewers also liked (19)

PDF
Testability
PDF
Dabbawalas of Mumbai
PPTX
Einstein_PechaKucha_Tom
PDF
The Magic Never Ends
PDF
Our Space Time
PDF
The Chinese Zodiac
PPTX
Fighting Poverty in Urban America_Damon
PDF
blogging and you - a love story
PDF
Wild Australia - How safe are you?
PDF
What consultants can learn from Optimus Prime
PDF
The Consequences of Actions
PDF
Canadian Winter Demystified
PDF
The Laws of Attraction
PPTX
My First Program - by Chris Reade
PDF
History of programming languages
PDF
What I learned from kids
PDF
Homebrewing
PDF
Soul Theory
PDF
Biometric Technology
Testability
Dabbawalas of Mumbai
Einstein_PechaKucha_Tom
The Magic Never Ends
Our Space Time
The Chinese Zodiac
Fighting Poverty in Urban America_Damon
blogging and you - a love story
Wild Australia - How safe are you?
What consultants can learn from Optimus Prime
The Consequences of Actions
Canadian Winter Demystified
The Laws of Attraction
My First Program - by Chris Reade
History of programming languages
What I learned from kids
Homebrewing
Soul Theory
Biometric Technology
Ad

More from twuniversity (20)

PDF
Bollywood Dance Moves_Deepali
PPTX
Hindu Festivals of India_Apurva
PPTX
Deepawali_Saurabh
PPTX
Cars_PechaKucha_Ajith
PDF
Kite Surfing
PDF
Esoteric languages
PDF
Chinese people
PDF
Exploring the Sky
PDF
Bollywood
PDF
Hockey
PDF
Why collaborate
PDF
Entrepreneuralism
PDF
PDF
Aggressive inline skating
PDF
Humour
PDF
What have we learned from our mistakes?
PDF
The Family
PDF
Mr Bean
PDF
The truth about Tigers
PDF
Small Reflections of a Great House
Bollywood Dance Moves_Deepali
Hindu Festivals of India_Apurva
Deepawali_Saurabh
Cars_PechaKucha_Ajith
Kite Surfing
Esoteric languages
Chinese people
Exploring the Sky
Bollywood
Hockey
Why collaborate
Entrepreneuralism
Aggressive inline skating
Humour
What have we learned from our mistakes?
The Family
Mr Bean
The truth about Tigers
Small Reflections of a Great House

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPT
Teaching material agriculture food technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
sap open course for s4hana steps from ECC to s4
Teaching material agriculture food technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25-Week II
20250228 LYD VKU AI Blended-Learning.pptx
cuic standard and advanced reporting.pdf
Big Data Technologies - Introduction.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Programs and apps: productivity, graphics, security and other tools
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Assigned Numbers - 2025 - Bluetooth® Document
Diabetes mellitus diagnosis method based random forest with bat algorithm

Continuous integration

Editor's Notes

  • #5: - game-- cooperative-- goal-oriented-- group rules- set limits of action- freedom within the rules continuation as a goal- maintainability/fun-factor
  • #6: at a high level it’s easy to agree-no defects-easy to read-fun to work withhow to actually implement that-consistent style-automated testsrules need to work for the team-not working?-change-replace-removenot intended to punish, intended to empower-put everyone on equal footing-
  • #7: -some rules can be automated--compilation--unit tests--static analysis--functional automated tests-automating this has upsides--quick--accurate--impartial--saves money by getting the feedback quicker-still only provides information--often quite unambiguous--sometimes, judgment call will need to be made
  • #9: === 1 ===one place to get everythingsingle accepted version of the systemput everything in there! database scripts, source code, build tools(story of the box exploding on Cobra)=== 2 ===one command to runsimple to explainno inconsistencies between machines=== 3 ===more than just compilingunit testsfast feedbackokay if they are imperfect=== 4 ===run locally to vet changesminimize impacts on team membersensures safety before changes spread=== 5 ===does my code work with your code?do I need to consider the change you just made?have you made a change I can use?updating often is as important as committing oftenaim to commit at least once a daytry to break tasks down in to smaller chunks=== 6 ===machine set aside somewhere for integrationcatches missing files or other environment specific problemscan be completely automated=== 7 ===less than 2 minutes locallyless than 10 minutes on the serverfeedback is best fastdon’t want to always be buildingmany techniques to speed it up=== 8 ===accurate tests require accurate environmentbut, impersonators to make the commit build fastimpersonators are fast mimics of real systemsvirtualization has a roll=== 9 ===stakeholders are part of the team, need to see itthe “real” feedbackbut, be aware this is an unfinished environment – the sidewalk ends, the elevators go nowhereuseful to explorecheck on feature availabilitycritical for demonstrations, showcases=== 10 ===all about communicationa teammate is in trouble – maybe they need help?red light / green lightweb page with reportsbuild token=== 11 ===lots of deployment going on-- locally on developer’s machines-- in to the test and staging environmentsscripted. can be same as build tool, but there are better specialist tools too.not necessarily in to production, but can be rewarding if it is.
  • #10: === 1 ===one place to get everythingsingle accepted version of the systemput everything in there! database scripts, source code, build tools(story of the box exploding on Cobra)=== 2 ===one command to runsimple to explainno inconsistencies between machines=== 3 ===more than just compilingunit testsfast feedbackokay if they are imperfect=== 4 ===run locally to vet changesminimize impacts on team membersensures safety before changes spread=== 5 ===does my code work with your code?do I need to consider the change you just made?have you made a change I can use?updating often is as important as committing oftenaim to commit at least once a daytry to break tasks down in to smaller chunks=== 6 ===machine set aside somewhere for integrationcatches missing files or other environment specific problemscan be completely automated=== 7 ===less than 2 minutes locallyless than 10 minutes on the serverfeedback is best fastdon’t want to always be buildingmany techniques to speed it up=== 8 ===accurate tests require accurate environmentbut, impersonators to make the commit build fastimpersonators are fast mimics of real systemsvirtualization has a roll=== 9 ===stakeholders are part of the team, need to see itthe “real” feedbackbut, be aware this is an unfinished environment – the sidewalk ends, the elevators go nowhereuseful to explorecheck on feature availabilitycritical for demonstrations, showcases=== 10 ===all about communicationa teammate is in trouble – maybe they need help?red light / green lightweb page with reportsbuild token=== 11 ===lots of deployment going on-- locally on developer’s machines-- in to the test and staging environmentsscripted. can be same as build tool, but there are better specialist tools too.not necessarily in to production, but can be rewarding if it is.