adapted for GMo environment

This commit is contained in:
Gilles Mouchet 2024-12-01 11:59:17 +01:00
parent 33c279b725
commit 098aa97c37
7 changed files with 31 additions and 10 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
progName="./$(/bin/basename $0)"
vdgRepository="registry-docker.ville-geneve.ch"
gmoRepository="registry-docker.gmolab.net"
#gmoRepository="gitweb.dyndns.org"
# Fonction d'affichage d'utilisation
function print_usage {
@ -13,8 +13,10 @@ Usage: $progName [options]
Options:
build Construction des images docker 'PHP-FPM' pour 'drupal'
build-no-cache Construction des images docker 'PHP-FPM' pour 'drupal' sans cache
pull Téléchargement de l'image docker depuis le dépôt '${vdgRepository}'
pull-tests Téléchargement de l'image docker de tests depuis le dépôt '${vdgRepository}'
pull Téléchargement de l'image docker depuis le dépôt '${gmoRepository}'
pull-tests Téléchargement de l'image docker de tests depuis le dépôt '${gmoRepository}'
push Téléversement de l'image docker sur le dépôt '${gmoRepository}'
push-tests Téléversement de l'image docker de tests sur le dépôt '${gmoRepository}'
-t,--tag Variable permettant de définir le <tag> de l'image 'PHP-FPM' de base
-n,--type Variable permettant de définir le <type> de l'image
bash Ouverture d'un shell dans le conteneur 'PHP-FPM' de base
@ -30,7 +32,7 @@ Exemples:
$progName --type=<type> --tag=<tag> build
ou
$progName -n <type> -t <tag> build
Pour télécharger l'image 'PHP-FPM' pour 'drupal' avec le type '<type>' et le tag '<tag>' depuis le dépôt '${vdgRepository}'
Pour télécharger l'image 'PHP-FPM' pour 'drupal' avec le type '<type>' et le tag '<tag>' depuis le dépôt '${gmoRepository}'
$progName --type=<type> --tag=<tag> pull
Pour construire et analyser le contenu de l'image 'PHP-FPM' pour 'drupal' avec comme type '<type>' et comme tag '<tag>'
$progName -n <type> -t <tag> bash
@ -42,7 +44,7 @@ EOF
set -e
_UID=$(id -u)
_GID=$(id -g)
_IMG_REPO="${vdgRepository}/devspe/docker-base-image/php"
_IMG_REPO="${gmoRepository}/docker-base-image/php"
_TYPE=""
_TAG=""
DOCKER_REGISTRY="$(grep -s 'DOCKER_REGISTRY=' .env | cut -f2 -d=)"
@ -90,6 +92,11 @@ do
_SUFFIX="$(echo $1 | cut -f2 -d- -s | sed -e 's|^tests\?$|-tests|')"
shift
;;
push|push-tests|push-test)
COMMAND="$1"
_SUFFIX="$(echo $1 | cut -f2 -d- -s | sed -e 's|^tests\?$|-tests|')"
shift
;;
bash|bash-tests|bash-test)
COMMAND="$1"
_SUFFIX="$(echo $1 | cut -f2 -d- -s | sed -e 's|^tests\?$|-tests|')"
@ -158,6 +165,8 @@ case "$COMMAND" in
build)
echo -e "${CYAN}# Building base image $_TYPE with tag $_TAG:"
docker build --build-arg IMG_TAG="$_TAG" --build-arg DIR_ARG="src/${_TYPE}/$_TAG" --pull -t $_IMG_REPO/$_TYPE:$_TAG -f ./src/${_TYPE}/$_TAG/Dockerfile .
#echo "docker build --build-arg IMG_TAG=\"$_TAG\" --build-arg DIR_ARG=\"src/${_TYPE}/$_TAG\" --pull -t $_IMG_REPO/$_TYPE:$_TAG -f ./src/${_TYPE}/$_TAG/Dockerfile . "
#exit
echo -e "${CYAN}# Building tests image $_TYPE with tag ${_TAG}-tests:"
docker build --build-arg IMG_TAG="$_TAG" --build-arg DIR_ARG="src/${_TYPE}/$_TAG" --build-arg IMG_NAME="$_IMG_REPO/$_TYPE" -t $_IMG_REPO/$_TYPE:${_TAG}-tests -f ./src/${_TYPE}/$_TAG/Dockerfile-tests .
;;
@ -169,6 +178,14 @@ case "$COMMAND" in
fi
docker logout ${DOCKER_REGISTRY}
;;
push|push-tests|push-test)
DOCKER_REGISTRY_USER="$(grep -s 'DOCKER_REGISTRY_USER=' .env | cut -f2 -d=)"
grep -s 'DOCKER_REGISTRY_PASSWORD=' .env | cut -f2 -d= | docker login -u ${DOCKER_REGISTRY_USER} --password-stdin ${DOCKER_REGISTRY}
if [ $? -eq 0 ]; then
docker push $_IMG_REPO/$_TYPE:$_TAG$_SUFFIX
fi
docker logout ${DOCKER_REGISTRY}
;;
bash|bash-tests|bash-test)
if [ -z "$(docker image ls -q ${_IMG_REPO}/${_TYPE}:${_TAG}${_SUFFIX} 2>/dev/null)" ]; then
echo -e "${RED}L'image 'PHP-FPM' ${_TYPE} avec le tag '${_TAG}${_SUFFIX}' n'existe pas localement !${NC}"

View File

@ -1,7 +1,9 @@
# Build de l'image applicative
ARG IMG_TAG=$IMG_TAG
FROM php:$IMG_TAG
LABEL maintainer="devops@geneve.ch"
#FROM php:8.1-fpm-alpine3.18
LABEL maintainer="gilles.mouchet@gmail.com"
ARG DIR_ARG=$DIR_ARG
ENV DIR=$DIR_ARG

View File

@ -1,7 +1,9 @@
# Build de l'image applicative
ARG IMG_TAG=$IMG_TAG
FROM php:$IMG_TAG
LABEL maintainer="devops@geneve.ch"
#FROM php:8.1-fpm-alpine3.18
LABEL maintainer="gilles.mouchet@gmail.com"
ARG DIR_ARG=$DIR_ARG
ENV DIR=$DIR_ARG