Difference between revisions of "Imeji release process"

From MPDLMediaWiki
Jump to navigation Jump to search
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page describes how to release imeji.
This page describes how to release imeji.
{{Imeji_Tech}}
=Before the release=
* 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
<pre>
git checkout release_branch
git pull
</pre>
* 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=
=Release imeji=
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
* Prepare the release
Windows:
<pre>mvn release:prepare -DpreparationGoals="clean install` -DupdateReleaseInfo=true</pre>
Linux/Mac
<pre>mvn release:prepare -DpreparationGoals="clean install" -DupdateReleaseInfo=true</pre>
<pre>mvn release:prepare -DpreparationGoals="clean install" -DupdateReleaseInfo=true</pre>
* if the build was successfull
* If a problem happened, do a rollback
<pre>mvn release:perform</pre>
* In case of error:
<pre>mvn release:rollback</pre>
 
=Release imeji=
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.
<pre>
<pre>
git checkout release_branch
mvn release:rollback
git pull
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
</pre>
</pre>
* Change the sub-modules dependencies with the release version created during their release and commit:
*Perform the release (the site deployment is not supported so far. Therefore we skip it here)
<pre>mvn release:perform -Dgoals=deploy</pre>
* Merge the commit to master and develop branch:
<pre>
<pre>
git add pom.xml
git checkout master
git add ./imeji_ear/pom.xml
git merge release_branch
git add ./imeji_presentation/pom.xml
git push
git commit -m 'Submodules version changed to last release number'
git checkout develop
git merge release_branch
git push
git push
</pre>
</pre>
* Prepare the release (note the syntax...)
* Remove release branch
<pre>mvn release:prepare -DpreparationGoals="clean install` -DupdateReleaseInfo=true</pre>
<pre>
*Perform the release (the site deployment is not supported so far. Therfore we skip it here)
git branch -d release_branch
<pre>mvn release:perform -Dgoals=deploy</pre>  
git push origin :release_branch
 
</pre>
[[Category:Imeji_Technical_Specification|Imeji.org]]
[[Category:Imeji_Technical_Specification|Release process]]

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