image: docker:latest services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY build-master: stage: build script: - docker build --pull -t "$CI_REGISTRY_IMAGE" . - docker push "$CI_REGISTRY_IMAGE" only: - master build: stage: build script: - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" except: - master deploy-github: stage: "deploy" before_script: - docker login -u "$GITHUB_USER" -p "$GITHUB_PASSWORD" script: - docker tag "$CI_REGISTRY_IMAGE" "$GITHUB_USER/$GITHUB_PROJECT" - docker push "$GITHUB_USER/$GITHUB_PROJECT"