Continuous Integration

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:

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!