Difference between revisions of "Imeji release process"

From MPDLMediaWiki
Jump to navigation Jump to search
Line 32: Line 32:
* Prepare the release (note the syntax...)
* Prepare the release (note the syntax...)
<pre>mvn release:prepare -DpreparationGoals="clean install` -DupdateReleaseInfo=true</pre>
<pre>mvn release:prepare -DpreparationGoals="clean install` -DupdateReleaseInfo=true</pre>
* Push the changes (POM with new version)
* If needed do a rollback
<pre>
<pre>
git commit -a -m "new POM version for release"
mvn release:rollback
git push
git tag -d tag-name //comment: rollback doesn't remove the tag, that must be removed before doing a new release:prepare
</pre>
</pre>
*Perform the release (the site deployment is not supported so far. Therefore we skip it here)
*Perform the release (the site deployment is not supported so far. Therefore we skip it here)

Revision as of 08:14, 5 April 2013

This page describes how to release imeji.

Release sub-modules[edit]

The first step is to release the submodules using imeji:

  • The common presentation
  • The fledgeddata service

The release process is the same for both:

  • Checkout the code in a new directory
  • Prepare the release
mvn release:prepare -DpreparationGoals="clean install" -DupdateReleaseInfo=true
  • if the build was successfull
mvn release:perform
  • In case of error:
mvn release:rollback
  • Important: check that the parent has been increased to a new SNAPSHOT

Release imeji[edit]

To release imeji, Git is necessary. For Windows, we use the Windows PowerShell (available via Github client). The steps are:

  • Switch to the release branch. This branch should have been created by the repository manager.
git checkout release_branch
git pull
  • Change the sub-modules dependencies with the release version created during their release and commit:
git add pom.xml
git add ./imeji_ear/pom.xml
git add ./imeji_presentation/pom.xml
git commit -m 'Submodules version changed to last release number'
git push
  • Prepare the release (note the syntax...)
mvn release:prepare -DpreparationGoals="clean install` -DupdateReleaseInfo=true
  • If needed do a rollback
mvn release:rollback
git tag -d tag-name //comment: rollback doesn't remove the tag, that must be removed before doing a new release:prepare
  • Perform the release (the site deployment is not supported so far. Therefore we skip it here)
mvn release:perform -Dgoals=deploy
  • Merge the commit to master and develop branch:
git checkout master
git merge release_branch
git push
git checkout develop
git merge release_branch
git push
  • Remove release branch
git branch -d release_branch
git push origin :release_branch