Imeji release process
Jump to navigation
Jump to search
This page describes how to release imeji.
|
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