System Integration & Build Management

Preview:

Citation preview

System Integration andBuild Management Special Thanks to Christian Schröder & Roman Antonov

Teacher: Inam Ul HaqBSIT-6th

University of Education Okara Campus

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

1

Outline• Continuous Integration• Continuous Builds• Continuous Tests• Tools for Build, Test and Integration

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

2

Continuous Integration• “Traditional” Integration methods

• Integration before the end of iteration• Weekly integration

• “Big Bang” Integration• Too many bugs and too little time to fix them

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

3

Continuous Integration• CI principles

• Integrate more often: • Daily, Hourly

• Integrate continuously:• After completion of every task

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

4

Continuous Integration• Advantages

• Integration 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

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

5

Continuous Builds• CB principles

• Build 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

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

6

Continuous Builds• Advantages

• Reduces the problems with files that aren’t checked in• Reduces problems with debug and release versions• In an integrated and stable stage builds can serve as demo-

versions

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

7

Continuous Tests• CT principles

• Test 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

• Advantages• Reduces bugs• Increases the chance to have a running system at every time

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

8

Build Tools• Cruise Control

• Java based for continuous build process, free, open source, it automatically builds on development servers not on developer’s desktop

• Ant• Pure build tool from Apache, it builds .jar file and you see “build

successful” message• Maven

• A lot functionality “out of the box”, from Apache, can be important as plug-in into Eclipse

• MS Build Engine• Build Management = Project Management

• (a BBA student may guide)

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

9

Test Tools• Maven

• Runs xUnit test suites• xUnit

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

• FindBugsA static code analysis tool

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

10

Maven (as build tool)

11

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

Integration Tools• Subversion

• Apache Subversion (often abbreviated SVN) is a software versioning and revision control system distributed as free software under the Apache License

• CVS• CVS is a version control system, an important component of

Source Configuration Management (SCM)

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

12

Subversion

13

Sys

tem

Inte

grat

ion

and

Bui

ld

Man

agem

ent

Recommended