Perform a Release

release:perform goal performs a release from SCM, either from a specified tag, or usually the tag representing the previous release in the working copy created by release:prepare.

Performing a release runs the following release phases by default:

  • Checkout from an SCM URL with optional tag to workingDirectory (target/checkout by default)
  • Run the perform Maven goals to release the project (by default, deploy site-deploy), eventually with release profile(s) active

To perform a release, execute this command:

mvn release:perform

This relies on being present from a previous release preparation. If this is not the case, you need to give the goal the URL and an optional tag to perform the release from. For example:

mvn org.apache.maven.plugins:maven-release-plugin:3.0.1:perform -DconnectionUrl=scm:svn:

release:perform will fork a new Maven instance to build the checked-out project. This new Maven instance will use the same system configuration and Maven profiles used by the one running the release:perform goal. Since there's no pom.xml, you should use the fully qualified name of the goal to ensure the right version of the maven-release-plugin is used.

It is possible to force some profiles to get enabled during release (for example to enable time-consuming tasks that are only relevant at release-time) by setting a comma separated list of profiles names in the releaseProfiles parameter. The goals and profiles required to release the project can then be configured in the POM:

        During release:perform, enable the "release" profile

Maven Release Plugin 2.x also activated a default profile by default, but not Maven Release Plugin 3.x: see migrate documentation for more details.

After the release is complete, the and other release files will be removed from the checkout.