Top Banner
www.orbitone.com Raas van Gaverestraat 83 B-9000 GENT, Belgium E-mail [email protected] Website www.orbitone.com Tel. +32 9 265 74 20 Fax +32 9 265 74 10 VAT BE 456.457.353 Bank 442-7059001-50 (KBC) 25 June, 2008 Continuous Integration by Mel Gerats
16

Continuous Integration

Jan 15, 2015

Download

Technology

Introduction of continious integration to our internal development team.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Continuous Integration

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

Page 2: Continuous Integration

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

Page 3: Continuous Integration

Continuous Integration, by Mel Gerats3

Maintain a Single Source Repository.

Simple: Use source control

25 June, 2008

Page 4: Continuous Integration

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

Page 5: Continuous Integration

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

Page 6: Continuous Integration

Continuous Integration, by Mel Gerats6

Everyone Commits Every Day

Check in often! Find problems early Mostly for large projects?

25 June, 2008

Page 7: Continuous Integration

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

Page 8: Continuous Integration

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

Page 9: Continuous Integration

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

Page 10: Continuous Integration

Continuous Integration, by Mel Gerats10

Automate Deployment

Successful build => deploy to staging

25 June, 2008

Page 11: Continuous Integration

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

Page 12: Continuous Integration

Continuous Integration, by Mel Gerats12

Challenges

Bus factor Dependencies Broken window syndrome

25 June, 2008

Page 13: Continuous Integration

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

Page 14: Continuous Integration

Continuous Integration, by Mel Gerats14

Next steps

Automated unit tests Reports Automated deployment

25 June, 2008

Page 16: Continuous Integration

16 Continuous Integration, by Mel Gerats

www.orbitone.com

25 June, 2008