stages: - build - deploy variables: IMAGE_NAME: "artberry-backend" IMAGE_TAG: "3.14" build: stage: build image: docker:latest services: - docker:dind script: - docker build -t $IMAGE_NAME:$IMAGE_TAG . artifacts: expire_in: 1 hour paths: - Dockerfile deploy: stage: deploy image: appleboy/drone-ssh environment: name: production script: - ssh user@your_server "docker pull $IMAGE_NAME:$IMAGE_TAG || true" - ssh user@your_server "docker stop $IMAGE_NAME || true" - ssh user@your_server "docker rm $IMAGE_NAME || true" - scp -r . user@your_server:/artberry_backend - ssh user@your_server "cd /artberry_backend && docker build -t $IMAGE_NAME:$IMAGE_TAG ." - ssh user@your_server "docker run -d -p 8000:8000 --name $IMAGE_NAME $IMAGE_NAME:$IMAGE_TAG"