system integration & build management
TRANSCRIPT
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