.drone.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. pipeline:
  2. build-frontend:
  3. image: node:14
  4. commands:
  5. - cd src/app
  6. - yarn
  7. - yarn build
  8. - rm -rf ./node_modules
  9. - mkdir -p ../../src/main/resources/static/code
  10. - cp -r ./dist/frei-app/* ../../src/main/resources/static/code
  11. build-backend:
  12. image: maven:3.3.9-jdk-8
  13. commands:
  14. - mvn package
  15. deploy-backend:
  16. when:
  17. branch: master
  18. image: docker
  19. secrets: [ssh_private_key, mongo_password]
  20. commands:
  21. - apk add --no-cache openssh-client net-tools
  22. - mkdir -p ~/.ssh
  23. - eval $(ssh-agent -s)
  24. - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
  25. - chmod 600 ~/.ssh
  26. - ssh -fN -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -L 12375:localhost:2375 root@80.93.182.116
  27. - export DOCKER_HOST=tcp://localhost:12375
  28. - netstat -lptn
  29. - docker network create --subnet 172.19.0.0/24 --driver bridge frei-network || true
  30. - docker build -t frei/frei-backend:b${DRONE_BUILD_NUMBER} .
  31. - docker rm -f frei_backend || true
  32. - 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}
  33. deploy-frontend:
  34. when:
  35. branch: master
  36. image: docker
  37. secrets: [ssh_private_key]
  38. commands:
  39. - apk add --no-cache openssh-client net-tools
  40. - mkdir -p ~/.ssh
  41. - eval $(ssh-agent -s)
  42. - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
  43. - chmod 600 ~/.ssh
  44. - ssh -fN -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -L 12375:localhost:2375 root@80.93.182.116
  45. - export DOCKER_HOST=tcp://localhost:12375
  46. - netstat -lptn
  47. - docker network create --subnet 172.19.0.0/24 --driver bridge frei-network || true
  48. - docker build --file Dockerfile.frontend -t frei/frei-nginx:f${DRONE_BUILD_NUMBER} .
  49. - docker rm -f frei_nginx || true
  50. - 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}