View
1.062
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Introduction of continious integration to our internal development team.
Citation preview
www.orbitone.com
Raas van Gaverestraat 83B-9000 GENT, Belgium E-mail [email protected] Website www.orbitone.com
Tel. +32 9 265 74 20Fax +32 9 265 74 10VAT BE 456.457.353Bank 442-7059001-50 (KBC)
25 June, 2008 Continuous Integrationby Mel Gerats
Continuous Integration, by Mel Gerats2
Definitionhttp://en.wikipedia.org/wiki/Continuous_integration
Continuous integration describes a set of software engineering practices that speed up the delivery of software by decreasing integration times
25 June, 2008
Continuous Integration, by Mel Gerats3
Maintain a Single Source Repository.
Simple: Use source control
25 June, 2008
Continuous Integration, by Mel Gerats4
Automate the Build
Building should take one action at most! Building should not take YOUR time=> Build server
- CruiseControl.net- Team System Build Server- Team City
25 June, 2008
Continuous Integration, by Mel Gerats5
Make Your Build Self-Testing
Tests should be run every build=> Tests can have no effects, or should at least clean up.
25 June, 2008
Continuous Integration, by Mel Gerats6
Everyone Commits Every Day
Check in often! Find problems early Mostly for large projects?
25 June, 2008
Continuous Integration, by Mel Gerats7
Every Commit Should Build the Mainline on an Integration Machine
Automated build after checkin Automated tests after checkin
25 June, 2008
Continuous Integration, by Mel Gerats8
Test in a Clone of the Production Environment
The code may be fine, but the environment? Dependencies Versions OS …
25 June, 2008
Continuous Integration, by Mel Gerats9
Everyone can see what's happening
Checkin reports Build reports Test reports Coverage reports http://buildserver/ccnet
25 June, 2008
Continuous Integration, by Mel Gerats10
Automate Deployment
Successful build => deploy to staging
25 June, 2008
Continuous Integration, by Mel Gerats11
Overview
Maintain a Single Source Repository. Automate the Build Make Your Build Self-Testing Everyone Commits Every Day Every Commit Should Build the Mainline on an Integration Machine Keep the Build Fast Test in a Clone of the Production Environment Make it Easy for Anyone to Get the Latest Executable Everyone can see what's happening Automate Deployment
25 June, 2008
Continuous Integration, by Mel Gerats12
Challenges
Bus factor Dependencies Broken window syndrome
25 June, 2008
Continuous Integration, by Mel Gerats13
Todo’s
Research/try out options-Now we use CruiseControl-Tom will try TeamCity + FinalBuilder-Experiment with Team System
25 June, 2008
Continuous Integration, by Mel Gerats14
Next steps
Automated unit tests Reports Automated deployment
25 June, 2008
Continuous Integration, by Mel Gerats15
Resources
Martin Fowler on continuous integration Our buildserver CruiseControl Teamcity Team Foundation Build
25 June, 2008
16 Continuous Integration, by Mel Gerats
www.orbitone.com
25 June, 2008