From 9fc07bb4e7865f52cd3693e7ec3346ec47714af8 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 5 Jan 2023 11:21:39 +0400 Subject: [PATCH] dkbuild: ajout build add-tags= --- dkbuild | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/dkbuild b/dkbuild index 2fb1c10..bc51bc6 100755 --- a/dkbuild +++ b/dkbuild @@ -637,6 +637,9 @@ Les paramètres optionnels sont * host-mappings=MAPPINGS définir des mappings d'hôte. si ce paramètre n'est pas spécifié, consulter aussi la valeur par défaut 'docker host-mappings=' +* add-tag=TAGS... ou add-tags=TAGS... + spécifier des tags à rajouter à la liste calculée automatiquement, séparés par + un espace. ce paramètre est ignoré si on spécifie un nom d'image avec un tag * image=IMAGES... ou images=IMAGES... liste de nom d'images, séparés par un espace. si les noms n'ont pas de tag, le tag est construit à partir de DIST et VERSION sous la forme [VERSION-]DIST @@ -1823,6 +1826,7 @@ function define_functions_cmd() { local pull="${DEFAULTS[build_pull]}" local host_mappings="${DEFAULTS[build_host-mappings]-__UNDEFINED__}" [ "$host_mappings" == __UNDEFINED__ ] && host_mappings="${DEFAULTS[docker_host-mappings]}" + local add_tags="${DEFAULTS[build_add-tags]}" local images="${DEFAULTS[build_images]}" local push="${DEFAULTS[build_push]}" while [ $# -gt 0 ]; do @@ -1836,6 +1840,8 @@ function define_functions_cmd() { pull) pull=1;; pull=*) pull="${1#pull=}";; host-mappings=*) host_mappings="${1#host-mappings=}";; + add-tag=*) add_tags="${1#add-tag=}";; + add-tags=*) add_tags="${1#add-tags=}";; image=*) images="${1#image=}";; images=*) images="${1#images=}";; push) push=1;; @@ -1848,8 +1854,9 @@ function define_functions_cmd() { estep "build options:" ${build:+build} ${no_cache:+no-cache} ${pull:+pull} ${push:+push} [ -n "$images" ] || images="$IMAGE" + eval "add_tags=($add_tags)" eval "images=($images)" - local imagetag autotag=1 + local tag imagetag autotag=1 local -a imagetags for imagetag in "${images[@]}"; do if [[ "$imagetag" == *:* ]]; then @@ -1858,10 +1865,19 @@ function define_functions_cmd() { imagetags+=("$imagetag") elif [ -n "$VERSION" -a -n "$DIST" ]; then imagetags+=("$imagetag:$DIST" "$imagetag:$VERSION-$DIST") + for tag in "${add_tags[@]}"; do + imagetags+=("$imagetag:$tag") + done elif [ -n "$VERSION" ]; then imagetags+=("$imagetag:$VERSION") + for tag in "${add_tags[@]}"; do + imagetags+=("$imagetag:$tag") + done elif [ -n "$DIST" ]; then imagetags+=("$imagetag:$DIST") + for tag in "${add_tags[@]}"; do + imagetags+=("$imagetag:$tag") + done fi done if [ -n "$autotag" ]; then