Skip to content

automate production deployment *mostly

  • jira: https://ufz-rdm.atlassian.net/browse/TSM-546
  • only one release.env file in releases directory
  • Add publish-all-things.sh as 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.py release.env with .env.example
  • deployment/tsm.intranet.ufz.de/deploy.sh
    • remove sudo
    • instead of docker compose pull -q use docker compose create --build to be consistent with prod script
  • deployment/tsm.ufz.de/deploy.sh
    • git fetch tag
    • compare tag .env.example with current .env
    • if everything looks good: git checkout tag else?? print Error! do nothing
    • add rm remove-all-data.sh (see deployment/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"

Deploy Trigger Script

Note

  • currently we need create --build as 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