System Integration and Build Management Christian Schröder Roman Antonov.

16
System Integration and Build Management Christian Schröder Roman Antonov

Transcript of System Integration and Build Management Christian Schröder Roman Antonov.

Page 1: System Integration and Build Management Christian Schröder Roman Antonov.

System Integration andBuild Management

Christian Schröder

Roman Antonov

Page 2: System Integration and Build Management Christian Schröder Roman Antonov.

Outline

Continuous IntegrationContinuous BuildsContinuous TestsTools

Page 3: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Integration

Page 4: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Integration

“Traditional” Integration methodsIntegration before the end of iteration

Weekly integration

“Big Bang” IntegrationToo many bugs and too little time to fix them

Page 5: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Integration

CI principlesIntegrate more often:

Daily, HourlyIntegrate continuously:After every completion of a task

Page 6: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Integration

AdvantagesIntegration becomes trivial if you integrate small and simple tasks

Developers get a better overview of the system and its architecture

In turn, integration becomes easier

Page 7: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Builds

Page 8: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Builds

CB principlesBuild your changes locally before checking in

If it doesn’t compile, don’t check it in

Build the entire system “from scratch” on a dedicated build server

Page 9: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Builds

AdvantagesReduces the problems with files that aren’t checked in

Reduces problems with debug and release versions

In a integrated and stable stage builds can serve as demo-versions

Page 10: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Tests

Page 11: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Tests

CT principlesTest your changes locally before checking in

If it doesn’t pass the tests at 100%, don’t check it in

Start the system and run the full test-suite

Page 12: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Tests

AdvantagesReduces bugsIncreases the chance to have a running system at every time

Page 13: System Integration and Build Management Christian Schröder Roman Antonov.

Continuous Tools

Page 14: System Integration and Build Management Christian Schröder Roman Antonov.

Build Tools

Cruise ControlAnt

Pure build tool

MavenA lot functionality “out of the box”

MSBuild Engine

Page 15: System Integration and Build Management Christian Schröder Roman Antonov.

Test Tools

MavenRuns xUnit test suites

xUnit Suite of Test Frameworks for several languages (Java, C, C++, Perl, ….)

Page 16: System Integration and Build Management Christian Schröder Roman Antonov.

Integration Tools

SubversionCVS