81 lines
2.6 KiB
YAML
81 lines
2.6 KiB
YAML
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
|
|
- chown -Rf 1161 $CI_BUILDS_DIR
|
|
|
|
.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
|
|
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
|
|
|