2024-07-24 11:33:41 +00:00

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
.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