Promotion Rollback

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide

The promotion rollback feature provides an important mechanism for managing your release lifecycle. Rollback enables you to undo the latest promotion of a Release Bundle v2 version and restore the version to its previous stage.

For more information about performing rollback, see Perform Promotion Rollback.

Understanding Rollback

When you execute promotion rollback, both the promotion itself and its associated evidence are deleted. This effectively erases the record of the promotion from the Release Bundle's history. However, while the promotion is deleted, the promotion audit log is preserved and will be visible in the version timeline. In the timeline, the removed promotion is crossed out, and a new entry is added to record the rollback, as shown below.

RLM-redesign_promotion-rollback_timeline.png

In addition, the artifacts included in the Release Bundle are also rolled back. The specific behavior of this artifact rollback depends on the type of promotion that was originally performed, a 'copy' or a 'move' promotion.

Rolling Back a 'Copy' Promotion

Rolling back a 'copy' operation is straightforward. In a 'copy' promotion, the artifacts from the source stage's repositories are duplicated into the target stage's repositories. When this kind of promotion is rolled back, the artifacts are deleted from the repositories in the target stage, and the previous stage is reinstated for the version. Since the previous stage's repositories already contain a complete copy of all the necessary artifacts, no further artifact manipulation is required. The evidence and properties associated with these artifacts remain exactly as they were before the promotion occurred.

For example, if you perform a 'copy' promotion from the DEV stage to QA, the artifacts that were in the DEV repositories are copied to repositories in QA. If this promotion is rolled back, the Release Bundle version and its artifacts are removed from QA, and DEV is reinstated as the current stage with the copy of the version it already contains.

Rolling Back a 'Move' Promotion

The rollback process for a 'move' promotion is more complex. In a 'move' promotion, the artifacts are relocated from repositories in the source stage to repositories in the target stage. This means the source repositories no longer contain these artifacts.

To accommodate this, the rollback for a 'move' promotion leverages the internal release-bundles-v2 system repository, which maintains a secure copy of every Release Bundle v2 version's artifacts and metadata as they existed at the time of their creation.

The rollback procedure for a 'move' promotion is as follows:

  1. The artifacts are deleted from the repositories of the current stage.

  2. The artifacts, along with their associated evidence and properties, are copied from the release-bundles-v2 system repository to the repositories associated with the previous stage.

  3. The previous stage is marked as the current stage for the Release Bundle v2 version.

Note

If you promote the same Release Bundle version multiple times to the same stage (for example, you might repeat the promotion after changing the repositories associated with that stage), rollback reverses the last promotion only.