stages: - deploy - db - stop variables: REVIEW_DOMAIN: back-review.lil.school deploy_prod: stage: deploy script: - rsync -a --stats --delete --exclude="docker/data/" --exclude="docker/.env" ./ /work/www/lil.school/ - cd /work/www/lil.school/docker/ - docker-compose -f docker-compose-prod.yml -p back up --build -d environment: name: prod url: https://lil.school only: - master tags: - prod deploy_review: stage: deploy script: - export REVIEW_HOST=$CI_COMMIT_REF_SLUG-$REVIEW_DOMAIN - cd docker - cp .env.review .env - docker-compose -f docker-compose-review.yml -p back$CI_COMMIT_REF_NAME up --build -d environment: name: review/$CI_COMMIT_REF_SLUG url: https://$CI_COMMIT_REF_SLUG-$REVIEW_DOMAIN on_stop: stop-review tags: - review only: - branches stop-review: stage: stop environment: name: review/$CI_COMMIT_REF_SLUG action: stop script: - export REVIEW_HOST=$CI_COMMIT_REF_SLUG-$REVIEW_DOMAIN - cd docker - cp .env.review .env - docker-compose -f docker-compose-review.yml -p back$CI_COMMIT_REF_NAME down - rm -rf /work/data/back_${CI_COMMIT_REF_NAME}/ when: manual only: - branches tags: - review prod-db: stage: db script: - export REVIEW_HOST=$CI_COMMIT_REF_SLUG-$REVIEW_DOMAIN - cd docker - cp .env.review .env - docker-compose -f docker-compose-review.yml -p back$CI_COMMIT_REF_NAME restart db - echo 'DROP DATABASE IF EXISTS lilcity; CREATE DATABASE lilcity' | docker-compose -f docker-compose-review.yml -p back$CI_COMMIT_REF_NAME exec -T -u postgres db psql postgres - /work/scripts/get_prod_db.sh | docker-compose -f docker-compose-review.yml -p back$CI_COMMIT_REF_NAME exec -T -u postgres db psql lilcity when: manual only: - branches tags: - review