image: gitlab/dind services: - docker:dind stages: - stop-old - build app - build docker - deploy stop-job: stage: stop-old only: - back_release script: - echo "Stop old container..." - docker stop my-bar - docker rm my-bar maven-build: image: maven:3.6.3-openjdk-17-slim stage: build app script: "mvn -am clean package" only: - master artifacts: paths: - target/*.jar docker-build: stage: build docker only: - back_release script: - docker build -t my-bar . deploy-job: stage: deploy script: - docker run --name my-bar --restart=always -p 8091:8080 -d my-bar - echo "Deploy complete" only: - back_release