This post originated from an RSS feed registered with Agile Buzz
by Slava Imeshev.
Original Post: Fast Continuous Integration For Game Developers
Feed Title: Slava on Everything
Feed URL: http://jroller.com/imeshev/feed/entries/rss
Feed Description: Slava Imeshev's Weblog
Continuous Integration is an important software development practice, when a dedicated server constantly rebuilds new changes that are submitted to a version control system. Continuous Integration helps to identify changes that break the build. The most important thing about Continuous Integration is that it allows developers to fix the breakage quickly, often before other members of a team noticed it. Continuous Integration (and build management in general) is important because if you don't have a clean build you don't have a product.
Game Development
Games developers have do deal with additional challenges because a game has to be built and tested on many hardware platforms and operating systems . You just cannot ship a game that runs fine on Windows XP but dies on Windows 2000. That is why failure to build or to test on any of the target platforms is usually considered a general build failure.
Building On Multiple Platforms
Supporting multiplatform development requires a distributed Continuous Integration infrastructure:
* Builds and tests should be run on multiple boxes, in parallel, against the same state of the product code base that stored in a version control system.
* Build finish has to be coordinated and the build outcome has be decided based on results from all platforms participating in a build.
Getting Continuous Integration To Work
Before Parabuild, software teams had to spend months, and even years to establish working multiplatform Continuous Integration, nightly, and release builds. Some have never managed to get it right because of the complexity of the task. Not anymore! Parabuild 3.1 solves this problem by introducing parallel multi-platform builds . Now it is possible to create a distributed build infrastructure in a matter of minutes . Parabuild launches and runs multiple builds on multiple hosts and platforms, runs them in parallel and against the same code base. It also ensures that all builds have the same build number and product version.
Picture: Typical parallel build
Speeding Up Build And Tests
Another important application of parallel builds in Parabuild is build acceleration . With Parabuild, parts of a build process can be moved to multiple build hosts and be run in parallel. Results are collected by a build manager once all builders have finished running their builds. Example:
Picture: Speeding up build and tests through parallelization
At Viewtier, we reduced the time for a production build from 1 hour 10 minutes to 15 minutes by running acceptance tests and installation media creation in parallel on several machines.
This is the coolest feature we have ever added since introducing the remote builds!
Tired of your job? Need to hire developers? Visit DZone Jobs: great people, great opportunities.