variables: CONTAINER_CLIENT_IMAGE: debian:latest CONTAINER_TEST_NAME: squid CONTAINER_BUILD_NOPROD_NAME_AMD64: $HUB_REGISTRY_IMAGE:build-noprod-amd64 SQUID_VERSION: '"$SQUID_VERSION"' docker-hub-build: stage: Docker-hub-build image: docker:dind artifacts: expire_in: 2 days timeout: 3 hours 30 minutes before_script: - docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_TOKEN" $DOCKER_HUB_REGISTRY script: - cd $CI_PROJECT_DIR - apk add --no-cache curl - export SQUID_VERSION=$(curl -s http://www.squid-cache.org/Versions/v6/ | egrep -m 1 -oh squid-.*.tar.gz | cut -d '"' -f1) - docker build --build-arg SQUID_VERSION=$SQUID_VERSION --pull -t $CONTAINER_BUILD_NOPROD_NAME_AMD64 . - docker push $CONTAINER_BUILD_NOPROD_NAME_AMD64 .services-amd64: services: - name: $CONTAINER_BUILD_NOPROD_NAME_AMD64 alias: squid image: $CONTAINER_CLIENT_IMAGE docker-hub-test: stage: Docker-hub-test extends: .services-amd64 script: - apt update && apt install -y curl - export https_proxy=http://$CONTAINER_TEST_NAME:3128 && curl -k https://www.google.fr variables: HOSTNAME: squidpipeline needs: ["docker-hub-build"] SquidParseConfig: stage: Docker-hub-test image: name: $CONTAINER_BUILD_NOPROD_NAME_AMD64 user: root script: - /usr/sbin/squid -k parse /etc/squid/squid.conf # Stop if error - "! /usr/sbin/squid -k parse /etc/squid/squid.conf 2>&1 | grep ERROR" dive: image: name: wagoodman/dive:latest entrypoint: [""] dependencies: [] stage: Docker-hub-test script: - docker pull $CONTAINER_BUILD_NOPROD_NAME_AMD64 - dive $CONTAINER_BUILD_NOPROD_NAME_AMD64 variables: CI: "true" push-docker-hub: stage: Docker-hub-pushtag image: docker:dind before_script: - docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_TOKEN" $DOCKER_HUB_REGISTRY script: - apk add --no-cache curl - docker pull $CONTAINER_BUILD_NOPROD_NAME_AMD64 - export SQUID_VERSION=$(curl -s http://www.squid-cache.org/Versions/v6/ | egrep -m 1 -oh squid-.*.tar.gz | cut -d '"' -f1 | sed 's/\.tar\.gz//g') - docker tag $CONTAINER_BUILD_NOPROD_NAME_AMD64 $HUB_REGISTRY_IMAGE:$SQUID_VERSION-amd64 - docker push $HUB_REGISTRY_IMAGE:$SQUID_VERSION-amd64 - docker tag $CONTAINER_BUILD_NOPROD_NAME_AMD64 $HUB_REGISTRY_IMAGE:latest-amd64 - docker push $HUB_REGISTRY_IMAGE:latest-amd64 - docker tag $CONTAINER_BUILD_NOPROD_NAME_AMD64 $HUB_REGISTRY_IMAGE:latest - docker push $HUB_REGISTRY_IMAGE:latest variables: GIT_STRATEGY: none needs: ["docker-hub-test"] only: - master