Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting.

Similar presentations


Presentation on theme: "Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting."— Presentation transcript:

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


Download ppt "Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting."

Similar presentations


Ads by Google