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

Introduction

Please make sure to read the general information about Artifactory's Build Integration before reading the release management-specific documentation.

Artifactory has plugins that include release management capabilities for Maven and Gradle runners and jobs that use Subversion, Git or Perforce for VCS.

Currently, there are Artifactory plugins for the TeamCity and Bamboo CI servers:

To learn more about release management specific to your CI server, follow these links:

(star) TeamCity Artifactory Plug-in - Release Management 
(star) Bamboo Artifactory Plug-in - Release Management

These plugins allow you to manually stage a release build in the relevant CI server, allowing you to:
  • Change values for the release and next development version

  • Choose a target staging repository for deployment of the release

  • Create a VCS tag for the release

Staged release builds can later be promoted or rolled-back, changing their release status in Artifactory and, optionally, moving the build artifacts to a different target repository.

Inside Artifactory the history of all build status change activities (staged, promoted, rolled-back, etc.) is recorded and displayed for full traceability. 

Maven Release Management

The plugins can perform release management with Maven. The Maven build is executed only once.

The process includes these basic steps:

  1. Changing the POM versions to the release version (before the build starts)

  2. Triggering the Maven build (with optionally different goals)

  3. Committing/pushing changes to the tag (Subversion) or the release branch (Git)

  4. Changing the POM versions to the next development version

  5. Committing/pushing changes to the trunk

In case of a failure, the plugin does its best to rollback the changes (local and committed).

You can read more about this process for the TeamCity Artifactory plugin and the Bamboo Artifactory plugin, including information about configuring Maven Runners / Jobs and about

staging a Maven release build.

Gradle Release Management

The plugins can perform release management with Gradle. The release management in Gradle relies on version (and other) properties managed by the gradle.properties file. You add all the relevant properties to the release management configuration, and the plugin reads and modifies those properties in the gradle.properties file.

These are the basic steps that the plugin performs:

  1. Changes the gradle.properties with release values (before the build starts)

  2. Triggers the Gradle build (with optionally different tasks and options)

  3. Commits/pushes changes to the tag (Subversion) or the release branch (Git)

  4. Changes the gradle.properties with next integration values

  5. Commits/pushes changes to the trunk

You can read more about this process for the TeamCity Artifactory plugin and the Bamboo Artifactory plugin, including information about configuring Gradle Runners/Jobs and about staging a Gradle release build.

Promoting a Release Build

The Artifactory plugins support promotion of successfully-completed builds. This is not a mandatory step but it is very useful if you want to mark the build as released in Artifactory and to move/copy the built artifacts to another repository so the artifacts are available to other users.

NOTE! That Artifactory Pro is required for promotion.

Promoting a release build is available for Maven builds on TeamCity or Gradle builds on TeamCity; it is also available for Maven builds on Bamboo or gradle builds on Bamboo.

Working with Subversion

The release management functionality of the relevant Artifactory plugins supports Subversion SCM when using one checkout directory. During the release, the plugin

commits the release version directly to the tag and commits the next development version to the working branch.

Both the TeamCity Artifactory plugin and the Bamboo Artifactory plugin work with Subversion.

Working with Git

The release management functionality of the relevant Artifactory plugins supports working with Git.

During the release the plugin performs the following:

  1. If create branch is checked, creates and switches to the release branch

  2. Commits the release version to the current branch

  3. Creates a release tag

  4. Pushes the changes

  5. Switches to the checkout branch and commit the next development version

  6. Pushes the next development version to the working branch

Both the TeamCity Artifactory plugin and the Bamboo Artifactory plugin work with Git.


Working with Perforce

The release management functionality of the Bamboo Artifactory plugin supports Perforce SCM when using one checkout directory. You can read more about working with Perforce with the Bamboo Artifactory plugin here.
  • No labels