Traceable Builds with Atlassian Bamboo and Artifactory

This is a guest post by Noam Tenne of JFrog Ltd. This post takes a deep look into the Build Artifactory Plugin, a Bamboo plugin that introduces support for Maven 3 and Ivy/Ant builders while providing improved CI and Build Integration capabilities to Bamboo users.

Where are your build artifacts?

It’s Monday morning; Do you know where your build artifacts are? Most chances – no.

Your build is “out in the wild”, how can you trace any records of its making? Is it reproducible like your SCM history? Is the use of version ranges and dynamic properties documented anywhere? Are different dependency version usages known?

The results of your source code are fully reproducible from the source code management system – checking out code, compiling a tag or a revision – binaries typically lack any traceable, reproducible context. If you need to replay last week’s build, you may end up with different results, due to the dynamic nature of it. Moreover, some of the dependencies used for the build may no longer exist, leading to broken builds. So – how can your builds have a traceable context that can make them reproducible?

Resolved dependencies and other dynamic information is known during build time, so there’s no reason you should lose track of your builds. The Bamboo-Artifactory plug-in does exactly that and thus completes your continuous integration cycle with Build Info that provides a traceable context for builds. This context is stored together with your artifacts in the Artifactory Repository Manager.

Artifactory is a Repository Manager for software artifacts that offers advanced proxying, caching and secure artifacts hosting services for Maven, Ant/Ivy, Gradle or parallel build technologies. The management facilities of Artifactory are accessible via web UI or REST API. A continuous integration server, such as Bamboo, is typically configured to publish build artifacts and to resolve build dependencies to and from Artifactory.

Presently, the Bamboo-Artifactory plug-in provides integration with Maven 3 and Ivy/Ant by introducing new builder capabilities for these build technologies (that can also be used normally with the Build Info disabled).

Bamboo Artifactory plugin

So how does this all work with Bamboo?

By having your Bamboo builds deploy artifacts to Artifactory, you can capture the build’s traceable context in full and have it published to Artifactory. JFrog’s build tool integration plug-in participates in the build-tool’s runtime process to gather the info directly from the source and once the build has completed successfully, it deploys the published artifacts and Build Info to Artifactory.

With minimal configuration, the Bamboo-Artifactory plug-in will record and store information about:

When the deployment of the Build Info and the published artifacts has completed, each build is easily accessible through Artifactory’s build browser and accessibility is a breeze through Artifactory’s RESTful URLs.

Once in the build browser, you are able to view a bill of materials (BOM) of your build that contains:

You also get many management facilities, such as (some with Artifactory Pro):

Options to deploy your builds

The Artifactory plugin offers you additional options over out of the box Bamboo:

Learn More

The Bamboo-Artifactory plug-in is released under the Apache v2 license. Visit the JFrog wiki for more details or, you can download the plugin, check compatibility, and find the documentation from on Atlassian’s plugin exchange.

New to Bamboo?

Download Bamboo to get started with a free 30-day trial.

Exit mobile version