continuous integration clinic
DESCRIPTION
Continuous Integration has come a long way. From starting out as a fringe school of throught to the mainstream practice it is today, CI has had an enormous impact on the way build and development teams operate. In this presentation, we look at how CI has evolved, and where its future lies.TRANSCRIPT
![Page 1: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/1.jpg)
Continuous Integration Clinic
Agile 2008 – TorontoMaciej Zawadzki
![Page 2: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/2.jpg)
Maciej Zawadzki
• Co-founder and President of Urbancode, Inc.
• Worked on three generations of Anthill/AnthillPro.
• Speaker at SD East, SD West, and the No Fluff Just
Stuff Conference series.
• Co-author of Professional Struts Applications
![Page 3: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/3.jpg)
Agenda
• CI Then and Now
• Why the change?
• Common implementations
• Where are we headed?
• Lab
![Page 4: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/4.jpg)
Original CI
• What is Continuous Integration:
– Development practice under which developers commit code
often, and
– Each commit should not degrade code quality
• Lets Analyze This in terms of:
– Audience
– Traceability
– Artifacts
![Page 5: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/5.jpg)
CI Today
• Build code and give rapid feedback to development
• Deploy product into test environment
• Execute multiple suites of tests
• Release final product to production
• Traceability through every stage
Build Deploy ReleaseTest
![Page 6: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/6.jpg)
Build Automation Silo
![Page 7: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/7.jpg)
Test Automation Silo
• Testing commonly requires the following steps:
– Prepare test environment (e.g. provision VMs, application servers)
– Deploy build artifacts and test clients
– Run tests
– Capture results
– Tear-down
• Test Orchestration automates those steps to save time and prevent mistakes
Concurrent Test Workflow
Run Test Clients
StartProcess
Prepare
GatherResults
DeployTest Clients
DeployArtifacts
![Page 8: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/8.jpg)
Deployment Automation Silo
• Multiple Deployment Environments – It is not enough to have an automated deployment system that deploys to a single environment. There are complications with supporting multiple environments:
• Environment specific configuration
• Environment specific deployment topology
![Page 9: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/9.jpg)
Agenda
• CI Then and Now
• Why the change?
• Common implementations
• Where are we headed?
• Lab
![Page 10: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/10.jpg)
Slippery Slope of Quality Determination
• CI presents two goals:– Quality determination
– Fast feedback
• Karl Popper:– No amount of positive outcomes of testing can confirm a
scientific theory; but a single failed test can disprove the theory
• Therefore it is not sufficient to run your unit tests but not your system, performance, load, etc. tests.
![Page 11: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/11.jpg)
CI moving from “invention” to “innovation”
• Invention– proven to work in the laboratory
• Innovation– it can be replicated reliably on a meaningful scale at
practical costs.
• For an idea to move from invention to innovation requires an ensemble of critical components.
Peter M. Senge, The Fifth Discipline
![Page 12: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/12.jpg)
Example of invention vs innovation
• Invention: Wright brothers invented flight
• Innovation: DC-3 launched commercial air travel– Variable-pitch propeller– Retractable landing gear– Monocoque construction– Radial air-cooled engine– Wing flaps– (One year earlier, Boeing 247 was missing the flaps)
![Page 13: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/13.jpg)
Is CI the Innovation for Automation?
• CI Brings together the following “critical” factors– Automation
– Self-service
– Transparency
![Page 14: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/14.jpg)
Agenda
• CI Then and Now
• Why the change?
• Common implementations
• Where are we headed?
• Lab
![Page 15: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/15.jpg)
Builds Centric – Staged Builds
• Everything is a build
• Different “types” of builds
execute on different schedules
– CI build every 15 mins
– Longer Test build every 4 hrs
– Regression test build every night
– Etc.
![Page 16: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/16.jpg)
Process Centric
• Build types are decomposed
into processes
• Processes are executed
sequentially
• Traceability between
processes is problematic
![Page 17: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/17.jpg)
Lifecycle Centric
• First class representation
of “flow” through lifecycle
stages
• Traceability built-in
• Efficient decomposition of
build types into non-
overlapping processes
![Page 18: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/18.jpg)
Agenda
• CI Then and Now
• Why is this happening?
• Common implementations
• Where are we headed?
• Lab
![Page 19: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/19.jpg)
Release Management
• Forrester Research defines Release Management as the definition, support, and enforcement of processes for preparing software for deployment to production.
![Page 20: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/20.jpg)
Integration for Release Management
![Page 21: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/21.jpg)
The Convergence of Agile and Governance
![Page 22: Continuous Integration Clinic](https://reader035.vdocuments.us/reader035/viewer/2022081512/554f916cb4c905d25b8b520e/html5/thumbnails/22.jpg)
Agenda
• CI Then and Now
• Why is this happening?
• Common implementations
• Where are we headed?
• Lab