Build Management: Handling the Hard Stuff
UrbanCode Build 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 UrbanCode Build, 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
UrbanCode Build 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 UrbanCode Build. 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. UrbanCode Build does just that. At build time, UrbanCode Build 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 UrbanCode Build 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 UrbanCode Deploy.
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.
UrbanCode Build 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. UrbanCode Build handles large volumes of builds easily. UrbanCode customers create build farms managed by UrbanCode Build that handle tens of thousands of builds per month.