Download presentation
Presentation is loading. Please wait.
Published byPaul Day Modified over 8 years ago
1
Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting
2
Continuous Integration Definition A software development practice where members of a development team regularly merge and commit their changes into a mainline tree which is tested after each merge for errors. Goal Minimize integration complexity by working with small change sets and keeping a buildable and tested mainline tree which is available for deployment.
3
Process ● Update ● Changes ● Test ● Update ● Merge ● Test ● Commit ● Test Development Integration Verification
4
Benefits ● Simplified Integration ● Build Always Works ● Transparency
5
Best Practices ● Check in early, check in often ● Communicate commits with the team ● Do not write new code when the build is broke ● Don't let the build remain broken overnight ● Communicate broken builds with the team ● Only update when the build is working ● Everyone should understand the build
6
Checklist ✔ Source Version Control ✔ Build ✔ Testing ✔ Automation
7
Source Version Control Definition Database which stores revisions of files and allows retrieval of each revision. Common Features ● Diffing ● Branching ● Tagging Examples ● CVS ● Subversion ● Git
8
Build Definition A combination of scripts which compile programs, test the artifacts, and generate installers. Features ● Single Command ● Incremental Building ● Dependency Fetching Examples ● Make ● Ant ● Maven
9
Test Definition Exercising an application in a controlled environment with specified inputs and state, observing outputs and state changes, verifying correctness by a set of metrics. Types ● Unit ● Functional ● Integration ● System ● Performance ● Load Examples ● xUnit ● Selenium ● Fitnesse ● JMeter
10
Automation Examples ● CruiseControl ● Hudson Features ● Report Integration ● Web Interface ● Notification ● Distributed Definition A scheduled or triggered build which builds the software, runs tests, generates reports, and notifies the participants of the success or failure.
11
Advanced ● Staged Build ● Branch Per Feature
12
Answers & Discussion ● 42 ● Four fingers ● No, there is not a Santa ● WD-40 ● Duct Tape ● It is people ● That is where the money is
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.