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