stages: - build:docker variables: IMAGE_NAME: "$CI_REGISTRY_IMAGE" IMAGE_NAME_DOCKERHUB: "index.docker.io/bruceforce/bw_backup" .docker_login: &docker_login docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY .dockerhub_login: &dockerhub_login docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY .docker_build_template: &docker_build stage: build:docker image: docker:latest services: - docker:dind tags: - shared build_master: <<: *docker_build script: - *docker_login - docker build --pull -t "$IMAGE_NAME" -t "$IMAGE_NAME_DOCKERHUB" . - docker push "$IMAGE_NAME" - *dockerhub_login - docker push "$IMAGE_NAME_DOCKERHUB" only: - master build_master_rpi3: <<: *docker_build script: - *docker_login - docker build --pull -t "$IMAGE_NAME:rpi3" -t "$IMAGE_NAME_DOCKERHUB:rpi3" . - docker push "$IMAGE_NAME:rpi3" - *dockerhub_login - docker push "$IMAGE_NAME_DOCKERHUB:rpi3" tags: - rpi3 only: - master build: <<: *docker_build script: - *docker_login - docker build --pull -t "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/bw_backup" . - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/bw_backup" except: - master