dkbuild: ajout build add-tags=

This commit is contained in:
Jephté Clain 2023-01-05 11:21:39 +04:00
parent 7b15f945ba
commit 9fc07bb4e7
1 changed files with 17 additions and 1 deletions

18
dkbuild
View File

@ -637,6 +637,9 @@ Les paramètres optionnels sont
* host-mappings=MAPPINGS * host-mappings=MAPPINGS
définir des mappings d'hôte. si ce paramètre n'est pas spécifié, consulter 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=' 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... * 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 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 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 pull="${DEFAULTS[build_pull]}"
local host_mappings="${DEFAULTS[build_host-mappings]-__UNDEFINED__}" local host_mappings="${DEFAULTS[build_host-mappings]-__UNDEFINED__}"
[ "$host_mappings" == __UNDEFINED__ ] && host_mappings="${DEFAULTS[docker_host-mappings]}" [ "$host_mappings" == __UNDEFINED__ ] && host_mappings="${DEFAULTS[docker_host-mappings]}"
local add_tags="${DEFAULTS[build_add-tags]}"
local images="${DEFAULTS[build_images]}" local images="${DEFAULTS[build_images]}"
local push="${DEFAULTS[build_push]}" local push="${DEFAULTS[build_push]}"
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
@ -1836,6 +1840,8 @@ function define_functions_cmd() {
pull) pull=1;; pull) pull=1;;
pull=*) pull="${1#pull=}";; pull=*) pull="${1#pull=}";;
host-mappings=*) host_mappings="${1#host-mappings=}";; 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=}";; image=*) images="${1#image=}";;
images=*) images="${1#images=}";; images=*) images="${1#images=}";;
push) push=1;; push) push=1;;
@ -1848,8 +1854,9 @@ function define_functions_cmd() {
estep "build options:" ${build:+build} ${no_cache:+no-cache} ${pull:+pull} ${push:+push} estep "build options:" ${build:+build} ${no_cache:+no-cache} ${pull:+pull} ${push:+push}
[ -n "$images" ] || images="$IMAGE" [ -n "$images" ] || images="$IMAGE"
eval "add_tags=($add_tags)"
eval "images=($images)" eval "images=($images)"
local imagetag autotag=1 local tag imagetag autotag=1
local -a imagetags local -a imagetags
for imagetag in "${images[@]}"; do for imagetag in "${images[@]}"; do
if [[ "$imagetag" == *:* ]]; then if [[ "$imagetag" == *:* ]]; then
@ -1858,10 +1865,19 @@ function define_functions_cmd() {
imagetags+=("$imagetag") imagetags+=("$imagetag")
elif [ -n "$VERSION" -a -n "$DIST" ]; then elif [ -n "$VERSION" -a -n "$DIST" ]; then
imagetags+=("$imagetag:$DIST" "$imagetag:$VERSION-$DIST") imagetags+=("$imagetag:$DIST" "$imagetag:$VERSION-$DIST")
for tag in "${add_tags[@]}"; do
imagetags+=("$imagetag:$tag")
done
elif [ -n "$VERSION" ]; then elif [ -n "$VERSION" ]; then
imagetags+=("$imagetag:$VERSION") imagetags+=("$imagetag:$VERSION")
for tag in "${add_tags[@]}"; do
imagetags+=("$imagetag:$tag")
done
elif [ -n "$DIST" ]; then elif [ -n "$DIST" ]; then
imagetags+=("$imagetag:$DIST") imagetags+=("$imagetag:$DIST")
for tag in "${add_tags[@]}"; do
imagetags+=("$imagetag:$tag")
done
fi fi
done done
if [ -n "$autotag" ]; then if [ -n "$autotag" ]; then