UrbanCode Build provides
- Your core CI loop: Detect a change, do a build, test, and deliver feedback
- Easy addition of new projects by development teams based on centrally defined templates
- Fine grained security and controls whose configuration scales
- Dependency management and awareness. Build based on project relationships.
Scales beautifullyUnlike common continuous integration tools that are easiest to implement for at the team level, UrbanCode Build is designed for an enterprise to setup a build as a service. The central team can easily setup standard security rules and build templates while the multitude of development teams have freedom to create projects and get rapid feedback within that framework.
UrbanCode Build uses project templates to capture common elements of configuration. These could be the standard build processes, source control rules, and testing reports for a type of build project. Each project will be unique, so the templates can capture where the variances are. Perhaps a checkbox for whether code coverage reports are setup for the project and a simple entry for where in the source control tool this project resides. A developer looking to define a project in the tool based on the template, will simply have to provide answers to a short, automatically generated form that asks about those variances. The developer has a fast and easy experience while the central team maintains control over the core process.
While each build project and build will have its own reports, an enterprise wide reporting is key. This enterprise level reporting takes advantage of UrbanCode Build’s data warehouse-like structure to enable highly-performant reporting across thousands of projects. You can quickly look across the enterprise to see which projects have good unit test coverage and which don’t.
Extensible and Customizable
Build systems need to be able to speak to source control tools, testing tools, bug trackers, and more. UrbanCode Build provides a large number of out of the box adapters, but also makes it easy to create your own. Whether you use a less common tool, or have created your own testing framework, extending UrbanCode build to work in your world is easy.
Monolithic projects are rare. Instead, we have applications built from a collection of third party and internally developed libraries. Let UrbanCode Build know your dependencies. It will ensure that when a library is changed, the dependent applications are rebuilt and problems are tied back to the library. UrbanCode Build will also generate dependency graphs so you can understand the makeup of your complex applications that have dozens or hundreds of dependencies several layers deep.