Skip to content

Create new release from develop Branch

Asterios Raptis edited this page Jan 27, 2018 · 14 revisions

Overview

In this section we describe how to release a new stable version. Preconditions are:

mvn versions:display-dependency-updates

for resolve new dependency updates

For the 'Git Flow'-branch model we will use the eclipse-plugin.

The develop branch is ready for a new release when:

  • CI build is green what means all unit tests are green.
  • source code have formatted uniformed with the project formatter formatted and members are sorted.
  • no javadoc warnings exists. Javadoc build have no errors.
  • all license headers exists. Licence headers contains the appropriate license.

When the develop branch is ready for a new release what are the steps to make a new release version?

Here is the description how to release a new stable version of the develop branch:

  • Update all SNAPSHOT version in the pom with release versions. If you have a multi module project you can use the versions-maven-plugin for it. Example of use

  • Update the mvn version in README.md file.

  • In eclipse select project go to context menu and select Team -> Git Flow -> Start Release. A dialog pops up where you can enter the release number. Click OK. You can see now that you are on a new release branch.

  • Now we can make a maven deploy. This will deploy the new version in the public maven repository where it will be accessible.

  • Next step is to publish the new release in git. This means to create a new remote branch with the version release. In eclipse select project go to context menu and select Team -> Git Flow -> Publish Release.

  • Now we finish the release by select project go to context menu and select Team -> Git Flow -> Finish Release. This will switch to the develop branch.

  • The master branch contains always the last stable release. So we have to merge the new release or hotfix version to the master branch. So the next step is to switch from develop branch to the master branch and optional pull and final push the master. As final check you can compare with the current develop branch with the result that they are equal.

  • To get ready for the new development cycle we have to update to a new SNAPSHOT version. If it is a multi module project you can use again the versions-maven-plugin for change all versions of the module projects.

  • Add a new entry for the new SNAPSHOT version in the CHANGELOG.md for track the changes. At last but not least you can push the new SNAPSHOT version for the next development cycle.