.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