stages: - build - deploy variables: IMAGE_NAME: "artberry-backend" IMAGE_TAG: "3.14" DOCKER_TLS_CERTDIR: "" build: stage: build image: docker:24.0.5 services: - docker:24.0.5-dind script: - docker build -t $IMAGE_NAME:$IMAGE_TAG . - docker save $IMAGE_NAME:$IMAGE_TAG | gzip > ${IMAGE_NAME}_${IMAGE_TAG}.tar.gz artifacts: paths: - ${IMAGE_NAME}_${IMAGE_TAG}.tar.gz expire_in: 1 hour deploy: stage: deploy image: appleboy/drone-ssh:latest environment: name: production script: - scp ${CI_PROJECT_DIR}/${IMAGE_NAME}_${IMAGE_TAG}.tar.gz user@your_server:/tmp/ - ssh user@your_server " docker load -i /tmp/${IMAGE_NAME}_${IMAGE_TAG}.tar.gz && docker stop $IMAGE_NAME || true && docker rm $IMAGE_NAME || true && docker run -d -p 8000:8000 --name $IMAGE_NAME $IMAGE_NAME:$IMAGE_TAG "