Starta en release branch
Ersätt x.x.x med lämplig version nummer.
Man kan bara ha en release branch åt gången.
─$ git flow release start x.x.x Switched to a new branch 'release/x.x.x' Summary of actions: - A new branch 'release/x.x.x' was created, based on 'develop' - You are now on branch 'release/x.x.x - Bump the version number now! - Start committing last-minute fixes in preparing your release - When done, run: git flow release finish 'x.x.x'
Stega upp version i källkoden så att det blir en RC version (pom.xml) genom att köra update-versions och slutför med git flow release publish så att andra utvecklare kan se den.
╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:update-versions -DdevelopmentVersion=x.x.x-RC1-SNAPSHOT ╰─$ git commit -a -m "Updated pom version to RC1-SNAPSHOT" ╰─$ git flow release publish
Release RC version:er
╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare -DtagNameFormat=@{project.version} För Perform finns två alternativ: Om man ej ska ladda upp på Nexus kör ╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:perform -Darguments="-Dmaven.deploy.skip=true" Om man ska ladda upp på Nexus kör då istället ╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:perform
Release utan RC version:er. Final release.
Obs: Stega upp version i källkoden (pom.xml) genom att ange nästa utvecklingscykel till x.x+1.x-SNAPSHOT (exempel: 1.1.0-SNAPSHOT)
╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare -DtagNameFormat=@{project.version} ╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:perform -Darguments="-Dmaven.deploy.skip=true" eller om man har behörighet att checka in på Nexus ╰─$ mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:perform
Färdiställ release branch
-n ska undvika skapa tag på master och -p ska pusha
-F ska fetcha från origin, enligt http://stackoverflow.com/questions/11151623/does-git-flow-deletes-branch-on-remote-server så krävs detta för att releasebranchen skall stas bort från origin också. Behöver verifieras.
╰─$ git flow release finish -n -p ..... ..... Summary of actions: - Release branch 'release/1.0.0' has been merged into 'master' - Master branch 'master' has been back-merged into 'develop' - Release branch 'release/1.0.0' has been locally deleted; it has been remotely deleted from 'origin' - 'develop', 'master' and tags have been pushed to 'origin' - You are now on branch 'develop'