Preflight builds spread wings for smoother projects
November 21, 2008 —
Preflight builds are taking wing as a way to prevent build failures in software development projects.
The builds let developers test changes without committing them to the source code. Two companies betting the concept will appeal to development teams are Electric Cloud and Urbancode, which have rolled the feature into new versions of their build management software. Executives at both companies said they expect others will do the same.
Electric Cloud’s ElectricCommander, which added preflight builds in August, determines the developer’s requested changes and sets up the same baseline from the developer’s software configuration management (SCM) system. ElectricCommander then produces the changes, letting the developer experiment with them before committing them to the source code.
The preflight build capability added in October to Urbancode’s AnthillPro collects the developer’s revisions, including source code changes, build script modifications and dependencies. It behaves just like a build initiated from an SCM change, reporting results to the developer without affecting the source code. If the build results are positive, the developer can opt to commit the changes to the source code; the changes are not made automatically.
“The main benefit of [letting the developer choose whether to commit the changes] is that developers can access resources they don’t have on their desktop” to test the build, said Urbancode president Maciej Zawadzki. “As an example, some of our customers do embedded software development. Oftentimes with embedded software development, the build and test may need to run on an actual hardware board. The developers might not have that board connected to their desktop, but they have the opportunity to go out and access one.”
Anders Wallgren, Electric Cloud’s CTO, said preflight builds counter continuous integration’s inability to isolate the team from a problem that one developer might introduce. If a developer inserts code that breaks the build, no one on the development team will be able to check in until the problem is fixed. Preflight builds, Wallgren said, solve the problem by enabling a full production build cycle on source code before the developer checks the code into the development process.
“If everyone checks into the main branch, [ElectricCommander will test the build] before you submit it to the SCM system,” Wallgren said, “or if you’re doing more of a clear-case, multi-stream development, it would either do it before you check it in or do it before you merge your changes into the integration."
Related Search Term(s): build management, change management, preflight builds, SCM, testing, Electric Cloud, Urbancode