Imeji release process

From MPDLMediaWiki
Revision as of 15:10, 12 May 2016 by Bastien (talk | contribs)
Jump to navigation Jump to search

This page describes how to release imeji.

Imeji logo.png

Internal
Meetings
Cooperation

Specification
Architecture
Installer
Ingest
Functional Specification
Technical Specification

Metadata
RDF mapping
Metadata terms

edit

Before the release[edit]

  • Download Git (You should have it already to work on imeji). For Windows, you will need to To release imeji, Git is necessary. For Windows, we use the Windows PowerShell (available via Github client). The steps are:
  • Check you are working in the release branch
git checkout release_branch
git pull
  • Check that release branch is not in possible conflict state with the master branch. It might happen if somebody has made a commit in master (although that shouldn't happen)

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

Release imeji[edit]

  • Prepare the release

Windows:

mvn release:prepare -DpreparationGoals="clean install` -DupdateReleaseInfo=true

Linux/Mac

mvn release:prepare -DpreparationGoals="clean install" -DupdateReleaseInfo=true
  • If a problem happened, 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
git push origin :tag-name// comment: remove the tag in remote
  • 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