diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f3b36d9..bf7f8c6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,23 +76,22 @@ deploy:dev: image: alpine:latest environment: name: dev - url: http://web.sik.party:8000 + url: http://api.dev.sik.party only: - develop + variables: + DOCKER_HOST: $DEV_CI_DOCKER_HOST + DOCKER_TLS_VERIFY: 1 before_script: - - pwd - - apk add --update openssh - - ssh -V - - mkdir -p ~/.ssh - - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + - mkdir -p ~/.docker + - echo "$DEV_TLSCACERT" > ~/.docker/ca.pem + - echo "$DEV_TLSCERT" > ~/.docker/cert.pem + - echo "$DEV_TLSKEY" > ~/.docker/key.pem + - docker login -u gitlab-ci-token -p "$CI_BUILD_TOKEN" "$CI_REGISTRY" script: - - scp docker-compose.yml $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment/docker-compose.yml - - scp .env.dev $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment/.env - - scp .deploy_dev.sh $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment/deploy_dev.sh - - ssh $DEV_SSH_USER@$DEV_SSH_HOST "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY" - - ssh $DEV_SSH_USER@$DEV_SSH_HOST "bash ~/deployment/deploy_dev.sh \"$IMAGE_NAME\"" + - docker stack deploy --with-registry-auth -c stack-compose-dev.yml "$SERVICE_NAME" + after_script: + - docker logout "$CI_REGISTRY" deploy:production: stage: deploy diff --git a/stack-compose-dev.yml b/stack-compose-dev.yml new file mode 100644 index 0000000..b23aad8 --- /dev/null +++ b/stack-compose-dev.yml @@ -0,0 +1,42 @@ +version: '3.4' +services: + db: + image: postgres:12 + deploy: + replicas: 1 + restart_policy: + condition: on-failure + environment: + - POSTGRES_PASSWORD=postgres + ports: + - 5432:5432 + volumes: + - dbdata:/var/lib/postgresql/data + + backend: + image: registry.gitlab.com/sahkoinsinoorikilta/vtmk/web2.0-backend:latest + deploy: + replicas: 1 + restart_policy: + condition: on-failure + update_config: + order: start-first + depends_on: + - db + ports: + - 8000:8000 + + environment: + - HOST=api.dev.sik.party + - DEBUG=True + - SECRET_KEY=7p$85^4ibb^p4-=vs44b7!y0e-zemugze18@a#30&71=a8)dp( + - EMAIL_PASSWD_FILE=/run/secrets/DJANGO_EMAIL_PASSWD + + secrets: + - DJANGO_EMAIL_PASSWD +secrets: + DJANGO_EMAIL_PASSWD: + external: true + +volumes: + dbdata: