Codebase list python-faraday / 62d1b14 .gitlab / ci / publish / .docker-publish-gitlab-ci.yml
62d1b14

Tree @62d1b14 (Download .tar.gz)

.docker-publish-gitlab-ci.yml @62d1b14raw · history · blame

.docker-publish:
  stage: publish
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    - gzip -d faraday-server-docker.tar.gz
    - docker load -i faraday-server-docker.tar
    - export VERSION=$(eval $IMAGE_TAG)
  tags:
    - shell

docker-publish-dev:
  extends: .docker-publish
  script:
    - docker image tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION
    - docker push "$CI_REGISTRY_IMAGE"
  rules:
    - !reference [ .on-master, rules ]
  needs: # dev won't wait for any previous stage, it will deploy instantly, and
      # then run tests in docker image (To be done)
    - job: generate_docker_tar_gz
      artifacts: true

docker-publish-prod:
  extends: .docker-publish
  variables:
    CI_REGISTRY_USER: $DOCKER_USER
    CI_REGISTRY_PASSWORD: $DOCKER_PASS
    CI_REGISTRY: docker.io
    CI_REGISTRY_IMAGE: index.docker.io/faradaysec/faraday
  script:
    - !reference [ .get_secrets, script ]
    - docker image tag registry.gitlab.com/faradaysec/faraday:latest $CI_REGISTRY_IMAGE:latest
    - docker push $CI_REGISTRY_IMAGE:latest
    - docker image tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION
    - docker push $CI_REGISTRY_IMAGE:$VERSION
  rules:
    - !reference [ .on-community-tag, rules ]
  dependencies: # prod will wait for any previous stage
    - generate_docker_tar_gz