Skip to end of metadata
Go to start of metadata
Table of Contents

Overview

Artifactory provides tight integration with Bamboo through the Bamboo Artifactory Plug-in. Beyond managing efficient deployment of your artifacts to Artifactory, the plug-in lets you capture information about artifacts deployed, dependencies resolved, environment data associated with the Bamboo build runs and more, that effectively facilitates fully traceable builds.

From version 1.4.0 the Bamboo Artifactory Plug-in provides powerful features for release management and promotion. For details please refer to Bamboo Artifactory Plugin - Release Management.

Build Runner Support

The Bamboo Artifactory Plug-in currently provides full support for Maven 3, Gradle and Ivy builds.  Generic Deployment Tasks are available for all builder types.

Before you begin

Please refer to the general information about Artifactory's Build Integration before using the Bamboo Artifactory Plug-in.

Source Code Available!

The Bamboo Artifactory Plugin is an open-source project on GitHub which you can freely browse and fork.


Installing the Plug-in

Requirements

  • Artifactory 2.2.5 or later. For best results and optimized communication, we recommend using the latest version of Artifactory.
  • Artifactory Pro is required for advanced features, such as License Control and enhanced Build Integration.
  • Atlassian Bamboo 2.6.0 or later running on JDK 1.6 or later.
  • Maven 3.
  • Gradle 0.9 or later.
  • Ant and Ivy 2.1.0 or later.

Installation

Download the latest version of the plugin according to the compatibility matrix below:

Remove older versions

If you have an older version of the plug-in, be sure to remove it before upgrading to a newer one

Bamboo VersionArtifactory Plugin Version 
2.x1.1.0Download
3.x1.2.0

Download 

3.1.x1.4.0Download
3.2.x1.4.2Download
3.3.x1.5.0Download
3.4.2+1.5.2Download
4.0+1.5.3Download
4.1+1.5.5Download
4.2+, 4.3+1.5.6Download
5.0+1.6.0Download
5.1.1+1.6.1Download
5.2+1.6.2Download
5.4+1.7.0Download
5.4+1.7.1Download
5.4+1.7.2Download
5.4+1.7.3Download
5.5+1.7.2Download
5.6+1.7.4Download
5.6+1.7.5Download

Plugins are deployed to Bamboo by placing the packaged plugin into the $BAMBOO_INSTALLATION_HOME/atlassian-bamboo/WEB-INF/lib folder and restarting Bamboo.

For more details please refer to the Bamboo documentation for  Installing a New Plugin.


Configuration

To use the Bamboo Artifactory plug-in you need to set up your Artifactory server(s) in Bamboo's server configuration. You can then set up a project builder to deploy artifacts and build-info to a repository on one of the configured Artifactory servers.

Configuring Maven 3, Gradle and Ivy Builders

Before you begin with any Artifactory-specific setup, ensure that Maven 3, Gradle and/or Ivy builders are available for project configurations.

These builders are defined as Server Capabilities in Bamboo

To define Server Capabilities for builders:

  1. Under the Administration menu, select Overview to view the Bamboo administration page. 
  2. Then, under Build Resources select Server Capabilities
  3. Select Executable as the Capability Type
  4. Select Artifactory Maven 3Artifactory Gradle or Artifactory Ivy as the type from the Types list.
  5. Make sure that Path points to an installation directory of the selected builder type.

Configuring Builders

Configuring System-wide Artifactory Server(s)

To make Artifactory servers available to project configurations, they must be defined under Administration | Plugins | Artifactory Plugin.  

Enter the Artifactory server URL in the Add New Server Configuration fields.

Username and Password

Username and password are optional and are only used when querying Artifactory's REST API for a list of configured repositories (credentials are only required if the target instance does not allow anonymous access).

Bamboo Artifactory Server Configuration

Configuring a Project Builder

To set up a project task to deploy build-info and artifacts to Artifactory:

  1. Go to the Tasks step of your jobs configuration.
  2. When adding a task type, select the Artifactory Maven 3, Gradle or Ivy builder.
     Bamboo Task Types
  3. The builder configuration fields appear and include Artifactory and build-info configuration options.

Selecting Artifactory Servers and Repositories

Select an Artifactory server URL for resolving artifacts and to deploy build artifacts in the corresponding fields.

If you have configured the System Wide Artifactory Servers correctly with the required credentials, then once you select an Artifactory server, the corresponding fields are populated to let you choose a Resolution Repository and Target Repository.

 

Repository list empty?

If the Resolution Repository or Target Repository fields remain empty, check that you have entered valid credentials when defining the Artifactory servers.

 

The Target Repository field is populated with a list of available target repositories as returned by the server (queried with the credentials in the server configuration, if provided).

If the repository list remains empty, ensure the specified Artifactory server URL and credentials (if provided) are valid.

Select the target repository you want Bamboo to deploy artifacts and build-info to.

Configuring Repositories for Resolution and Deployment

Running Licence Checks

If you have an Artifactory Pro license, you can set the Run License Checks checkbox so that Artifactory will scan all dependencies used by the build to check for any license violations.

This feature offers the following options:

Send License Violation Notifications to

A list of email addresses of users who should receive license violation notifications.

Limit Checks to the Following Scopes

The Maven dependency scopes on which the license check should be run. If left empty, all scopes will be checked.

Include Published Artifacts

Indicates that any build artifacts that are dependencies for other build artifacts, should also be scanned for license violations

Disable Automatic License Discovery

Tells Artifactory not to try and automatically analyze and tag the build's dependencies with license information upon deployment.
You can still attach license information manually by running Auto-Find from the build's Licenses tab in Artifactory.

Running License Checks

Black Duck Code Center Integration

If you have an Artifactory Pro license, and a Black Duck Code Center account you can use the Artifactory Black Duck Code Center integration to automatically initiate an open source component approval process, and proactively monitor for security vulnerabilities.

 

This feature offers the following options:

Code Center application name

The name of the Black Duck Code Center application that should be invoked.

Code Center application version

The Black Duck Code Center application version.

Send compliance report email to

A list of email addresses of users who should receive license violation notifications.

Limit checks to the following scopes

The Maven dependency scopes on which the compliance check should be run. If left empty, all scopes will be checked.

Include Published Artifacts

Indicates that any build artifacts that are dependencies for other build artifacts, should also be scanned for license violations

Auto create missing component requests

Automatically create missing components in Black Duck Code Center application after the build is completed and deployed in Artifactory.

Auto discard stale component requests

Automatically discard stale components in Black Duck Code Center application after the build is completed and deployed in Artifactory.

 

Black Duck Code Center Integration

Artifactory Generic Resolve Task

The Generic Resolve task can be used in any job with any combination of tasks. 
It lets you specify dependency patterns for published artifacts that should be downloaded from Artifactory. You can have detailed control over which artifacts are resolved and downloaded by using query-based resolution, adding a query with the properties that the artifact should have before it can be downloaded, to your artifact paths. FOr more details please refer to Resolution by Properties

The resolved files will be clustered as dependencies in the Build information.   

Generic Deploy Task

Artifactory Generic Deploy Task

The Generic Deploy task can be used in any job with any combination of tasks, and is provided to offer minimal Build Info support for all types.

This task collects all available information regarding the build from Bamboo, and provides a deployment mechanism for the artifacts produced.

Adding the Generic Deploy task automatically deploys Build Info collected from the Published Artifacts declaration in addition to the artifacts themselves.

In addition to specifying the Artifactory Server URL, the Target Repository and the Deployer username and Password, you can specify the following parameters:

 

The 'Published Artifacts' declaration lets you specify which artifact files produced by the build are published to Artifactory.  At build conclusion, the plugin locates artifacts in the build's checkout directory according to the specified artifact patterns and publishes them to Artifactory, optionally applying mapping for the target path of each deployed artifact.

Make sure to add the Generic Deploy task as a final step!

Generic Deploy Task

Attaching Searchable Parameters

You can define parameters that should be attached to build info and artifacts that are deployed by the plugin.

To define a parameter, under Administrationת go to Build Resources | Global Variables, fill in a Key/Value pair and click Save.

The available parameter types are:

  • buildInfo.property.* - All properties starting with this prefix will be added to the root properties of the build-info.
  • artifactory.deploy.* - All properties starting with this prefix will be attached to any produced artifacts that are deployed.

Using a Properties File

Instead of defining properties manually, you can point the plug-in to a properties file.

To do so, define a property named buildInfoConfig.propertiesFile and set its value to the absolute path of the properties file.

Attaching Searchable Parameters

The given path and file should be present on the machine that is running the build agent, not the server.

Release Management

You can also configure Bamboo to manage releases through Artifactory. If you set the Enable Release Management checkbox, you can configure the following fields:

VCS Tags Base URL/Name

If you are using Subversion for source control, this is URL of the tags to use. If you are using Git or Perforce, this is the name of the tag/label.

Git Release Branch Name Prefix

This field is only relevant if you are using Git for source control. It indicates the prefix of the release branch name.

Running a Build

Once you have completed setting up a project builder you can run it. The Artifactory plug-in commences at the end of the build and:

  1. Deploys all artifacts to the selected target repository in one go (as opposed to the deploy at the end of each module build, used by Maven/Ivy).
  2. Deploys the Artifactory build-info to the selected server, which provides full traceability of the build in Artifactory, with links back to the build in Bamboo.

Running a Build

You can also link directly to the information in Artifactory from a build run view in Bamboo:

Viewing Artifactory Build Info in Bamboo

 

Since Bamboo Artifactory Plug-in version 1.7.0, the Build Info link is under the renamed tab "Artifactory Build Info".


License

The Bamboo Artifactory plug-in is available under the Apache v2 License.


Changelog

 

 Click to see change log details

1.7.5 (10 Nov 2014)

  1. Support Atlassian Stash source control management (BAP-206)
  2. Artifactory generic Resolve task (BAP-207)
  3. Maven 3 tasks - Record Implicit Project Dependencies and Build-Time Dependencies (BAP-225)

1.7.4 (12 Aug 2014)

  1. Support for Bamboo 5.6 (BAP-218)
  2. Bug fix (BAP-219)

1.7.3 (29 Jul 2014)

  1. Add support for Gradle 2.0 (GAP-153)
  2. Bug fix (BAP-212)

1.7.2 (25 Jun 2014)

  1. Bug fixes  (BAP-196BAP-208BAP-166)

1.7.1 (26 MAY 2014)

  1. A new check box that gives the ability to ignore artifacts that are not deployed according to include/exclude patterns. (BAP-180)

1.7.0 (06 Apr 2014)

  1. Fix Support for Bamboo 5.4+
  2. Supporting Git Shared Credentials in Release Management functionality (BAP-189
  3. Adding Version Control Url property to the Artifactory Build Info JSON. (BAP-200)
  4. Bug fixes ( BAP-197)

1.6.2 (24 Nov 2013)

  1. Fix Support for Bamboo 5.2
  2. Add Artifactory BlackDuck integration
  3. Bug fixes (BAP-182 BAP-184 BAP-186 BAP-184)

1.6.1 (03 Oct 2013)

  1. Support form Bamboo 5.1.1
  2. Bug fixes 1.6.1

1.6.0 (16 Jul 2013)

  1. Support form Bamboo 5.0

1.5.6 (03 Sep 2013)

  1. Support form Bamboo 4.2

1.5.5 (03 Sep 2012)

  1. Support for include/exclude captured environment variables (BAP-143)
  2. Bug fixes (MAP-41 MAP-40 GAP-129 BAP-148 IAP-32)

1.5.4 (25 Jun 2012)

  1. Support Bamboo 4.1.
  2. Bug fixes. (JIRA)

1.5.3 (02 Apr 2012)

  1. Support Bamboo 4.0.

1.5.2 (02 Apr 2012)

  1. Support Perforce for release management. (BAP-133)
  2. Bug fixes. (JIRA)

1.5.1 (05 Jan 2012)

  1. Compatible release plugin for version 3.4.2. (BAP-116)
  2. Support for Gradle properties deployment. (BAP-117)
  3. Unique icon for each Artifactory task type.
  4. Setting Bamboo job requirements correctly for all builder types. (BAP-125)

 

1.5.0 (11 Dec 2011)

 

  1. Compatible with bamboo version 3.3.x.
  2. Compatible with Gradle 1.0-milestone-6.

1.4.2 (19 Sep 2011)

  1. Bug fix (BAP-91)

1.4.1 (01 Aug 2011) 

  1. Support for Bamboo 3.2.x
  2. Bug fix (BAP-90)

1.4.0 (14 Jul 2011)

  1. Introducing Release Management capabilities.
  2. Generic Build Info support for all job types.
  3. Bug fixes.

1.3.2 (14 Jun 2011)

  1. Bug fix (BAP-65)

1.3.1 (13 Jun 2011)

  1. Bug fix (BAP-64)

1.3.0 (30 May 2011)

  1. Support for Bamboo 3.1.x

1.2.0 (2 Mar 2011)

  1. Support for Bamboo 3.x

1.1.0 (2 Jan 2011)

  1. Gradle Support - Gradle builds are now fully supported with the new Gradle builder
  2. Ivy builds now support custom Ivy patterns for artifacts and descriptors
  3. Support for Bamboo 2.7.x

1.0.3 (21 Nov 2010)

  1. Add Include/exclude pattern for artifacts deployment
  2. Bug fix (BAP-26)

1.0.2 (7 Nov 2010)

  1. Control for including published artifacts when running license checks
  2. Limiting license checks to scopes
  3. Control for turning off license discovery when running license checks


  • No labels