Build Management: Handling the Hard Stuff
uBuild is designed to handle the most challenging build environments. Many of our customers have selected it only after their open source tools did too little or their home grown system became unmaintainable. With uBuild, the hard stuff becomes manageable or even easy. Continuous Integration is automatic, even when you component based development has led to a sprawl of interrelated pieces. With over a decade of build automation pedigree, UrbanCode is the industry leading in build management.
Cross Technology and Cross Platform
uBuild is designed to be a universal development automation tool. It is not just for .Net Developers or Java Developers. While it provides a great number of integrations out of the box, it is extensible enough to handle a wide array of rare or custom development tooling.
Likewise, builds that require some steps be executed on Windows, while others are executed on Linux or AIX, are fully supported and easy to configure in uBuild. As an example, it is not uncommon to build a desktop application on Microsoft Windows and Apple's OSX, or a console game for the Sony PlayStation and Microsoft Xbox, and then either combine or distribute the results.
Many software applications are dependent on either third party libraries, or internally built components and subprojects. Robust builds handle these dependencies formally with traceability. uBuild does just that. At build time, uBuild analyzes the dependency rules, to find the version of each dependency required. It provisions those into the build environment from its artifact repository, CodeStation. Full support for transitive dependencies is included. Projects can be dependent on other projects managed by uBuild or on third-party libraries. This later feature allows enterprises to develop a set of approved versions of third-party libraries that can be reused. Learn more about dependency management.
Component dependencies that are most important at deployment time are managed by uDeploy.
Managing the Build
Many build automation tools perform the build and their job is done. UrbanCode's DevOps platform manages the build throughout its life cycle: testing and deploying it out to production when all goes well and discarding builds that fail tests or are no longer needed.
Visibility and Feedback
Without a central build management server, each developer is an island. An occasional supply ship visits the developer's island with news and supplies from abroad (source code committed by other developers). This ship also picks up the developer's work product (source code commits) if and when it's ready. Each developer has to perform local builds and local tests.
uBuild provides a centralized view of development. The developers can see what each other are committing and how those changes are affecting the tests. Management can also see which projects are making good progress and which are struggling.
Sometimes the greatest challenge is scaling. uBuild handles large volumes of builds easily. UrbanCode customers create build farms managed by uBuild that handle tens of thousands of builds per month.