Difference between revisions of "Imeji release process"

From MPDLMediaWiki
Jump to navigation Jump to search
 
Line 10: Line 10:
* 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)
* 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=
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 fledgeddata service
The release process is the same for both:
*Checkout the code in a new directory
* Prepare the release
<pre>mvn release:prepare -DpreparationGoals="clean install" -DupdateReleaseInfo=true</pre>
* if the build was successfull
<pre>mvn release:perform</pre>
* In case of error:
<pre>mvn release:rollback</pre>
* 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:
<pre>
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
</pre>
=Release imeji=
=Release imeji=
* Prepare the release
* Prepare the release

Latest revision as of 09:03, 23 March 2018

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