Create a server POV release procedure
Description of the issue
Currently, we have documented on GitHub how to do the release. We are missing information on how to do a release on the server and actually deploy and run a new version.
Ideas of solution
- [ ] add markdown documentation and describe the reproducible steps.
- [ ] Create release issue template and use as release-checklist
Workflow checklist
- [ ] I am aware of the workflow in CONTRIBUTING.md
from memory:
on production, in main folder, with activated virtualenv
git checkout master # or release/xxx
pip install -r requirements.txt
python manage.py mirror
python manage.py clear_sandbox
python manage.py migrate
python manage.py alembic upgrade head
python manage.py collectstatic
sudo systemctl reload apache2
@adelmemariani can you approve this?
Yes :)
from memory:
on production, in main folder, with activated virtualenv
git checkout master # or release/xxx pip install -r requirements.txt python manage.py mirror python manage.py clear_sandbox python manage.py migrate python manage.py alembic upgrade head python manage.py collectstatic sudo systemctl reload apache2
on TOEP also this management command should be excecuted
python manage.py clear_peer_reviews --all
This should not be executed on OEP (we dont want to delete all existing reviewer once they are in production)
Two new management commands that should alsoe be part of the release procedure:
https://github.com/OpenEnergyPlatform/oeplatform/issues/1297
I have found another step that is missing in our current release procedure. We have introduced the citation.cff file, which also contains a version. This should be updated every time a release is made. It would be great if the version could be imported automatically from the VERSION file so we don't have to maintain multiple version identifiers.
From now on for each release we have to run the command:
python manage.py compress