Difference between revisions of "Imeji release process"

From MPDLMediaWiki
Jump to navigation Jump to search
Line 2: Line 2:


=Release sub-modules=
=Release sub-modules=
The first step is needed when releasing imeji sub-modules (a.k.a maven dependencies). If no submoludes are to be released, you can jump to the [#Release_imeji next step]:
The first step is needed when releasing imeji sub-modules (a.k.a maven dependencies). If no submoludes are to be released, you can jump to the [http://colab.mpdl.mpg.de/mediawiki/Imeji_release_process#Release_imeji next step]:
* The common presentation
* The common presentation
* The fledgeddata service
* The fledgeddata service

Revision as of 09:01, 8 April 2013

This page describes how to release imeji.

Release sub-modules[edit]

The first step is needed when releasing imeji sub-modules (a.k.a maven dependencies). If no submoludes are to be released, you can jump to the next step:

  • 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
  • Optional (if releasing sub-modules, see above) 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