Gå till slutet av bannern
Gå till början av bannern

Göra en release (release branch)

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 4 Nästa »

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 

Möjliga problem vi körning av release pluginet

  • Man fastnar vid steget git push: detta kan lösas genom att skicka med användarnamn och lösenord "-Dusername=USERNAME -Dpassword=XXX"
  • Fel vid generering av javadoc: För att skippa javadoc kan man lägga till -Darguments="-Dmaven.javadoc.skip=true". Kör man deploy skip läggs "-Dmaven.javadoc.skip=true" i befintliga "-Darguments."
╰─$ 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. 

Detta steg kan med fördel göras av ett jobb i en byggserver, exempelvis Jenkins.

Obs: Maven release plugin kommer att skapa en tag på releasen. 

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. 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'
  • Inga etiketter