pipeline: build-frontend: image: node:14 commands: - cd src/app - yarn - yarn build - rm -rf ./node_modules - mkdir -p ../../src/main/resources/static/code - cp -r ./dist/frei-app/* ../../src/main/resources/static/code build-backend: image: maven:3.3.9-jdk-8 commands: - mvn package deploy-backend: when: branch: master image: docker secrets: [ssh_private_key, mongo_password] commands: - apk add --no-cache openssh-client net-tools - mkdir -p ~/.ssh - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - chmod 600 ~/.ssh - ssh -fN -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -L 12375:localhost:2375 root@80.93.182.116 - export DOCKER_HOST=tcp://localhost:12375 - netstat -lptn - docker network create --subnet 172.19.0.0/24 --driver bridge frei-network || true - docker build -t frei/frei-backend:b${DRONE_BUILD_NUMBER} . - docker rm -f frei_backend || true - docker run -d --name frei_backend --ip 172.19.0.11 --network frei-network --env SPRING_PROFILES_ACTIVE="default,production" --env MONGO_PASSWORD=$MONGO_PASSWORD --restart always frei/frei-backend:b${DRONE_BUILD_NUMBER} deploy-frontend: when: branch: master image: docker secrets: [ssh_private_key] commands: - apk add --no-cache openssh-client net-tools - mkdir -p ~/.ssh - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - chmod 600 ~/.ssh - ssh -fN -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -L 12375:localhost:2375 root@80.93.182.116 - export DOCKER_HOST=tcp://localhost:12375 - netstat -lptn - docker network create --subnet 172.19.0.0/24 --driver bridge frei-network || true - docker build --file Dockerfile.frontend -t frei/frei-nginx:f${DRONE_BUILD_NUMBER} . - docker rm -f frei_nginx || true - docker run -d --name frei_nginx --ip 172.19.0.10 --network=frei-network --env "VIRTUAL_HOST=freigeld.online" --env "LETSENCRYPT_HOST=freigeld.online" --restart always frei/frei-nginx:f${DRONE_BUILD_NUMBER}