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

Before You Begin

Please make sure you read the general information about Artifactory's Build Integration before reading the Bamboo-specific documentation.

Source Code Available!

This plugin is an open-source project on GitHub. Feel free to browse the source and fork at will.

Overview

The Bamboo Artifactory plug-in brings CI Build Integration to Bamboo users, allowing the capture of information about deployed artifacts, resolved dependencies and environment data associated with Bamboo build runs.  In addition, you have full traceability for your builds.

The plug-in also efficiently deploys your artifacts to Artifactory.

Supported build technologies

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.

Release Management

Version 1.4.0 introduces Release Management Capabilities.

Installing the Plug-in

Requirements

  • Artifactory 2.2.5 or later. For best results and optimized communication it is recommended to use 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 + Ivy 2.1.0 or later.

Installation

Download the latest version of the plugin:

Configuration

To use the Bamboo Artifactory plug-in you must configure 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.

To define build capabilities as standard:

  1. Go to Administration -> Build Resources -> Server Capabilities:
  2. Select "Executable" as the Capability Type
  3. Select "Artifactory Maven 3", "Artifactory Gradle" or "Artifactory Ivy" as the type from the "Types" list.
  4. Ensure "Path" points to an installation directory of the selected builder type.

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" form.

NOTE! that username and password are optional and 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).

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.
  3. The builder configuration fields appear and include Artifactory and build-info configuration options.

Selecting an Artifactory Server URL

The 'Target Repository' list 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.

Running License Checks

Use the Artifactory Pro License Control feature to discover and handle third party dependency licensing issues as part of the build.

Check the 'Run License Checks' checkbox if you want Artifactory to scan and check the licenses of all dependencies used by this build.

If you want to inform selected users about any license violations detected while scanning, enter a list of e-mail addresses to the notification recipients text box.

BlackDuck integration

Use the Artifactory Black Duck Code Center integration to automated, non-invasive approach to the open source component approval process, in addition to proactively monitoring for security vulnerabilities.

 

Generic (Freestyle) Deploy Tasks

The Generic Deploy task can be used in any job with any combination of tasks; made to provide minimal Build Info support for all types, the task collects all available information from Bamboo regarding the build and provides a deployment mechanism for produced artifacts.

Adding the Generic Deploy task automatically deploys Build Info including artifacts collected from the Published Artifacts declaration.

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!

Attaching Searchable Parameters to Build-Info and Artifacts Deployed by the Plug-in

Under Administration -> Build Resources -> Global Variables, it is possible to define parameters that are attached to the build-info and produced artifacts.

To define a parameter complete the blank parameter row 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 deployed produced artifacts.

It is also possible to point the plug-in to a properties file containing the aforementioned properties.

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

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

Running a Build with the Artifactory Plug-in

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.

 

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

 

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

License

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

Changelog

 

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