Here are some of the build management trends that are improving the way development teams build, test and deploy new software.
The first build trend to review is the move away from manual builds and towards an automated build process. Many companies still do manual build and deployment with no scripting or automation. It’s inefficient, slow and causes costly errors. Manual builds take much longer to execute and they’re difficult to monitor and maintain. A manual, non-uniform process usually produces inconsistent builds, often with errors related to the changing build environment.
As the development process of organizations mature, they move to automate the build process with partially scripted builds using a hodgepodge of tools. This is an improvement, and it’s faster than doing manual builds, though it’s usually disorganized and lacking any documentation or reporting tools.
Another weak point of first-stage automation is the guru who created the home-grown build scripts. They are usually the only person on the team who understands the scripts and if they are unavailable when a script fails to work then it’s back to manual builds.
The next trend is to consolidate the builds onto one or more build servers with a uniform environment and tools. This makes the process easier to monitor and maintain, even if it’s just centralizing the first-stage, DIY automation.
The real improvement comes when they consolidate the build scripts with a tool like Automated Build Studio. It handles all the build, test and deployment tasks with a consistent interface that provides detailed audit logs and history reports.
Instead of learning dozens of programs to build, test and deploy their application, they just need to learn one visual tool, Automated Build Studio. And instead of having dozens of scripts and batch files to maintain, the macro is available in one drag and drop editor with automatic logging, history and charts.
Teams provide shared access to build servers through role based security rather than depending entirely on a gatekeeper like a Build Server Manager. Some team members just need to monitor build progress remotely, others want quick access to launch, pause or stop builds related to their department. For example, a QA manager might get news of a new bug fix check-in and launch a special QA build without tracking down the Build Manager just to start it.
Automated Build Studio provides desktop and web browser clients to allow easy, secure access to the team so they can monitor and launch builds based on their user permissions.
Products are becoming larger and more complex and builds take longer to complete with each iteration. Automated Build Studio allows complex builds to be split into multiple parts and executed on several build servers at the same time.
Automated Build Studio can control distributed builds on the same network or across the internet.
Automated tests integrated into the build process dramatically improve build and release quality. ABS includes operations for popular testing tools and recognizes test failures. When failures occur, ABS can automatically notify the appropriate team members via email, RSS or instant messaging.
Another big trend supported by ABS is continuous integration. With continuous integration, the build server monitors the source code repository throughout the day and launches a build when it detects that new source code has been checked-in. It builds the application, and if the build succeeds, runs the automated tests on the application.
If the build or the tests fail, then the developer should receive early notification of the error so they can fix the problem while it’s still fresh in their minds.
Continuous integration is easy to configure in ABS. It supports many popular source control systems and has built-in support for several notification types like email and instant messaging.