diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d02662c..685d154 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,3 +49,27 @@ build: artifacts: paths: - build/ + +deploy_app: + needs: [deps, build] + dependencies: [deps, build] + before_script: + - apk update + - apk add openssh-client + - echo "$DRP_KEY" | base64 -d > /tmp/drp.key + - chmod 600 /tmp/drp.key + script: + - ssh -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null debian@drp-host.pub.home.local.koval.net -C "rm -rf /home/debian/app/build /home/debian/app/node_modules" + - scp -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r build debian@drp-host.pub.home.local.koval.net:/home/debian/app/build + - scp -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r node_modules debian@drp-host.pub.home.local.koval.net:/home/debian/app/node_modules + - scp -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docker-compose.yml debian@drp-host.pub.home.local.koval.net:/home/debian/app/docker-compose.yml + - scp -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null package.json debian@drp-host.pub.home.local.koval.net:/home/debian/app/package.json + - scp -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null package-lock.json debian@drp-host.pub.home.local.koval.net:/home/debian/app/package-lock.json + - ssh -i /tmp/drp.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null debian@drp-host.pub.home.local.koval.net -C "cd /home/debian/app && docker compose down && docker compose up -d" + environment: + name: production + url: https://drp.koval.net + rules: + - if: $CI_COMMIT_BRANCH != "master" + when: never + - when: on_success diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e67ba53 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + app: + image: node:lts-alpine + volumes: + - .:/app:ro + environment: + NODE_ENV: production + PUBLIC_SUPABASE_URL: "$SUPABASE_URL" + PUBLIC_SUPABASE_ANON_KEY: "$SUPABASE_ANON_KEY" + working_dir: /app + command: sh -c "node build/"