The TeamCity Artifactory Plugin manages a release with Maven running the build only once using the following basic steps:
Change the POM versions to the release version (before the build starts).
Trigger the Maven build (with optionally different goals).
Commit/push changes to the tag (Subversion) or the release branch (Git).
Change the POM versions to the next development version.
Commit/push changes to the trunk.
If the build fails, the plugin attempts to rollback the changes (both local and committed).
For more information including configuration of Maven Runners, and Jobs and staging a release build, please refer to TeamCity Artifactory Plug-in.