remotes/origin/hasaccess^2
root 8 years ago
parent c448520b0b
commit 06830f6c63
  1. 56
      .gitlab-ci.yml
  2. 7
      docker/docker-compose-prod.yml
  3. 64
      docker/docker-compose-review.yml
  4. 1
      docker/entrypoint_app.sh

@ -1,5 +1,10 @@
stages: stages:
- deploy - deploy
- db
- stop
variables:
REVIEW_DOMAIN: back-review.lil.school
deploy_prod: deploy_prod:
stage: deploy stage: deploy
@ -8,9 +13,56 @@ deploy_prod:
- cd /work/www/lil.school/docker/ - cd /work/www/lil.school/docker/
- docker-compose -f docker-compose-prod.yml up --build -d - docker-compose -f docker-compose-prod.yml up --build -d
environment: environment:
name: prod/site name: prod
url: https://lil.school url: https://lil.school
only: only:
- master - release
tags: tags:
- prod - prod
deploy_review:
stage: deploy
script:
- cd docker
- 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
except:
- release
stop-review:
stage: stop
environment:
name: review/$CI_COMMIT_REF_SLUG
action: stop
script:
- cd docker
- 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
except:
- release
tags:
- review
prod-db:
stage: db
script:
- cd docker
- 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 postgres psql postgres
when: manual
only:
- branches
except:
- release
tags:
- review

@ -10,6 +10,11 @@ services:
- .env - .env
volumes: volumes:
- ./data/postgres:/var/lib/postgresql/data - ./data/postgres:/var/lib/postgresql/data
logging: &logging
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
redis: redis:
image: redis:4.0.9-alpine image: redis:4.0.9-alpine
@ -18,6 +23,7 @@ services:
- "127.0.0.1:6379:6379" - "127.0.0.1:6379:6379"
volumes: volumes:
- ./data/redis:/data - ./data/redis:/data
logging: *logging
app: app:
build: build:
@ -36,3 +42,4 @@ services:
links: links:
- db - db
- redis - redis
logging: *logging

@ -0,0 +1,64 @@
version: '3'
services:
db:
image: postgres:10.3-alpine
restart: always
ports:
- "5432:5432"
env_file:
- .env
volumes:
- /work/data/back_${CI_COMMIT_REF_NAME}/postgres:/var/lib/postgresql/data
logging: &logging
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
- internal
- review
labels:
- traefik.enable=false
redis:
image: redis:4.0.9-alpine
restart: always
ports:
- "127.0.0.1:6379:6379"
volumes:
- /work/data/back_${CI_COMMIT_REF_NAME}/redis:/data
logging: *logging
networks:
- internal
- review
labels:
- traefik.enable=false
app:
build:
context: ../
dockerfile: docker/Dockerfile
restart: always
env_file:
- .env
volumes:
- /work/data/back_${CI_COMMIT_REF_NAME}/media:/app/media
ports:
- "${PORT}:80"
depends_on:
- db
- redis
logging: *logging
networks:
- internal
- review
labels:
- traefik.frontend.rule=Host:${REVIEW_HOST}
- traefik.docker.network=review
networks:
internal:
review:
external:
name: review

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
cd /app cd /app
chown www-data:www-data /app/media
python manage.py migrate python manage.py migrate
#python manage.py loaddata /app/apps/*/fixtures/*.json #python manage.py loaddata /app/apps/*/fixtures/*.json
python2.7 /usr/bin/supervisord -n python2.7 /usr/bin/supervisord -n

Loading…
Cancel
Save