Skip to content
Snippets Groups Projects
Commit d6eedfca authored by jan.bednarik's avatar jan.bednarik
Browse files

Deploy setup

parent f551376b
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,8 @@ image: docker:19.03.1
variables:
DOCKER_TLS_CERTDIR: "/certs"
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
IMAGE_TAG_APP: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
IMAGE_TAG_NGINX: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-nginx
services:
- docker:19.03.1-dind
......@@ -10,9 +11,17 @@ services:
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build_helios:
build_app:
stage: build
script:
- docker pull $CI_REGISTRY_IMAGE:test || true
- docker build --cache-from $CI_REGISTRY_IMAGE:test -t $IMAGE_TAG .
- docker push $IMAGE_TAG
- docker build --cache-from $CI_REGISTRY_IMAGE:test -t $IMAGE_TAG_APP .
- docker push $IMAGE_TAG_APP
build_nginx:
stage: build
when: manual
script:
- docker pull $CI_REGISTRY_IMAGE:test-nginx || true
- docker build --cache-from $CI_REGISTRY_IMAGE:test-nginx -t $IMAGE_TAG_NGINX . -f Dockerfile.nginx
- docker push $IMAGE_TAG_NGINX
......@@ -10,10 +10,9 @@ COPY . .
RUN bash -c 'adduser --disabled-login --quiet --gecos app app && \
chmod -R o+r /app/ && \
chmod o+x /app/run_server.sh && \
chmod o+x /app/run_worker.sh'
chmod o+x /app/run.sh'
USER app
EXPOSE 8000
CMD ["bash", "run_server.sh"]
CMD ["bash", "run.sh"]
FROM nginx:1.18
EXPOSE 8080
ADD nginx.conf /etc/nginx/conf.d/helios.conf
......@@ -22,7 +22,7 @@ Obvykle děláme změny v `test` a když je to ok, releasujeme do `master`.
## Čas
S šasy se v kódu pracuje velmi primitivně. Všechny časy jsou naivně a musí být UTC.
S časem se v kódu pracuje velmi primitivně. Všechny časy jsou naivně a musí být UTC.
Což komplikuje všechno. Ale podařilo se to rozumně pořešit na vstupu a výstupu.
V kódu je to ohnuté takto:
......
upstream helios {
ip_hash;
server app:8000;
}
server {
server_name helios;
listen 8080;
client_max_body_size 10M;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
send_timeout 60;
location / {
proxy_pass http://helios/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
......@@ -6,7 +6,7 @@ gunicorn==20.0.4
dj_database_url==0.5.0
psycopg2==2.8.4
celery==4.2.1
celery[redis]==4.4.7
django-picklefield==1.1.0
django-anymail==8.4
......
File moved
#!/bin/bash
# exit on error
set -e
# start celeryd
exec celery worker --app helios --events --beat --concurrency 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment