4.16.24 21st Century Movements for Black Lives.pptx
System Integration & Build Management
1. System Integration
and
Build Management
Special Thanks to Christian Schröder & Roman Antonov
Teacher: Inam Ul Haq
BSIT-6th
University of Education Okara Campus
SystemIntegrationandBuild
Management
1
2. Outline
• Continuous Integration
• Continuous Builds
• Continuous Tests
• Tools for Build, Test and Integration
SystemIntegrationandBuild
Management
2
3. 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
SystemIntegrationandBuild
Management
3
4. Continuous Integration
• CI principles
• Integrate more often:
• Daily, Hourly
• Integrate continuously:
• After completion of every task
SystemIntegrationandBuild
Management
4
5. 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
SystemIntegrationandBuild
Management
5
6. 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
SystemIntegrationandBuild
Management
6
7. 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
SystemIntegrationandBuild
Management
7
8. 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
SystemIntegrationandBuild
Management
8
9. 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)
SystemIntegrationandBuild
Management
9
10. Test Tools
• Maven
• Runs xUnit test suites
• xUnit
• Suite of Test Frameworks for several languages (Java, C, C++, Perl,
….)
• FindBugs
A static code analysis tool
SystemIntegrationandBuild
Management
10
12. 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)
SystemIntegrationandBuild
Management
12
To get used to it, integrate daily or hourly. If you became used to it, integrate continuously
It isessential to follow the XP principle “Keep tasks simple and small”
Build the classes you changed locally, to ensure that you got no syntax errors
Build the entire system on the build server “from scratch”. For huge projects, building the entire system is a time-consuming process.
For these principles to work, you need to follow the XP principle “Test first”