automate production deployment *mostly
- jira: https://ufz-rdm.atlassian.net/browse/TSM-546
-
only one release.envfile inreleasesdirectory -
Add publish-all-things.shas manual step in https://ufz-rdm.atlassian.net/wiki/spaces/RDM/pages/403243009/Checkliste+Production+Deployment- to republish all saved things of configdb
-
pipeline check ./compare_dotenv_files.pyrelease.env with.env.example -
deployment/tsm.intranet.ufz.de/deploy.sh-
remove sudo -
instead of docker compose pull -qusedocker compose create --buildto be consistent with prod script
-
-
deployment/tsm.ufz.de/deploy.shgit fetch tag- compare tag
.env.examplewith current.env - if everything looks good:
git checkout tagelse?? print Error! do nothing - add
rm remove-all-data.sh(seedeployment/tsm.intranet.ufz.de/deploy.sh) - remove
RELEASE_ENV_FILE="releases/${SSH_ORIGINAL_COMMAND}.env" git show ${SSH_ORIGINAL_COMMAND}:${RELEASE_ENV_FILE} || exit 1 -
DC="sudo docker compose --env-file .env --env-file ${RELEASE_ENV_FILE}"- remove
sudo - instead use:
DC="docker compose --env-file .env --env-file releases/release.env"
- remove
Deploy Trigger Script
Note
- currently we need
create --buildas we're in the transition to docker volumes - when docker volumes are completely used, we can switch to
docker compose pull -q
Edited by Tobias Kuhnert