Skapa release (release branch)

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

Skapa Release versioner 

Relasekandidater (RC) och Final release skapas med hjälp av Maven release plugin.


För de flesta produkter finns färdiga release jobb nationell Jenkins som använder Maven release plugin:

Se Skapa release med Jenkins


För att manuellt skapa en release:

Se Skapa release (generell instruktion) kapitel "Gör release mha Maven release plugin"


Färdigställ release branch

-n ska undvika skapa tag på master. Detta är redan gjort av maven release plugin i steget ovan "Release utan RC version:er. Final release."

-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'