dk: support build args avec la syntaxe NAME=VALUE
This commit is contained in:
parent
f7b3f90ba0
commit
aa269661cb
74
dk
74
dk
|
@ -23,8 +23,8 @@ veut dire qu'elle n'aura pas la même sématique.
|
||||||
COMMANDES
|
COMMANDES
|
||||||
get-profile
|
get-profile
|
||||||
Afficher le profil courant
|
Afficher le profil courant
|
||||||
b|build [SERVICE]
|
b|build [NAME=VALUE...] [SERVICE]
|
||||||
Construire les images
|
Construire les images. Les variables NAME=VALUE sont des 'build args'
|
||||||
p|push
|
p|push
|
||||||
p|push [SERVICES...]
|
p|push [SERVICES...]
|
||||||
La première syntaxe est utilisable avec un projet docker. Elle permet de
|
La première syntaxe est utilisable avec un projet docker. Elle permet de
|
||||||
|
@ -56,31 +56,31 @@ COMMANDES
|
||||||
x|exec SERVICE COMMAND
|
x|exec SERVICE COMMAND
|
||||||
Lancer une commande dans le container correspondant au service spécifié,
|
Lancer une commande dans le container correspondant au service spécifié,
|
||||||
qui doit être en fonctionnement
|
qui doit être en fonctionnement
|
||||||
d|brd
|
d|brd [NAME=VALUE...]
|
||||||
Construire les images (comme avec build), démarrer les services et
|
Construire les images (comme avec build), démarrer les services et
|
||||||
suivre les logs de façon interactive (comme avec up). Dès que l'on
|
suivre les logs de façon interactive (comme avec up). Dès que l'on
|
||||||
arrête l'affichage des logs avec Ctrl+C, arrêter les services et
|
arrête l'affichage des logs avec Ctrl+C, arrêter les services et
|
||||||
supprimer l'environnement (comme avec down)
|
supprimer l'environnement (comme avec down)
|
||||||
Vaguement équivalent à -- build -- start [args] -- logs
|
Vaguement équivalent à -- build -- start [args] -- logs
|
||||||
suivi de -- down
|
suivi de -- down
|
||||||
bs
|
bs [NAME=VALUE...]
|
||||||
Construire les images (comme avec build) puis démarrer les services
|
Construire les images (comme avec build) puis démarrer les services
|
||||||
(comme avec start)
|
(comme avec start)
|
||||||
Equivalent à -- build -- start [args]
|
Equivalent à -- build -- start [args]
|
||||||
br SERVICE [COMMAND]
|
br [NAME=VALUE...] SERVICE [COMMAND]
|
||||||
Construire les images (comme avec build) puis démarrer le service avec
|
Construire les images (comme avec build) puis démarrer le service avec
|
||||||
la commande spécifiée (comme avec run)
|
la commande spécifiée (comme avec run)
|
||||||
Equivalent à -- build -- run [args]
|
Equivalent à -- build [NAME=VALUE...] -- run [args]
|
||||||
y|deploy [args...]
|
y|deploy [args...]
|
||||||
(Re)déployer un stack. Cette commande ne fonctionne qu'en mode swarm.
|
(Re)déployer un stack. Cette commande ne fonctionne qu'en mode swarm.
|
||||||
Implique --stack
|
Implique --stack
|
||||||
by|bd [args...]
|
by|bd [NAME=VALUE...] [args...]
|
||||||
Equivalent à --stack -- build -- deploy args...
|
Equivalent à --stack -- build [NAME=VALUE...] -- deploy args...
|
||||||
Utilisable notamment en développement
|
Utilisable notamment en développement
|
||||||
bp [args...]
|
bp [NAME=VALUE...] [args...]
|
||||||
Equivalent à --stack -- build -- push args...
|
Equivalent à --stack -- build [NAME=VALUE...] -- push args...
|
||||||
bpy|bpd [args...]
|
bpy|bpd [NAME=VALUE...] [args...]
|
||||||
Equivalent à --stack -- build -- push -- deploy args...
|
Equivalent à --stack -- build [NAME=VALUE...] -- push -- deploy args...
|
||||||
ser|service COMMAND SERVICE [args...]
|
ser|service COMMAND SERVICE [args...]
|
||||||
Frontend pour 'docker service COMMAND args... SERVICE'
|
Frontend pour 'docker service COMMAND args... SERVICE'
|
||||||
Cette commande ne fonctionne qu'en mode swarm. Il n'est pas nécessaire
|
Cette commande ne fonctionne qu'en mode swarm. Il n'est pas nécessaire
|
||||||
|
@ -840,11 +840,11 @@ function default_update_build_env() {
|
||||||
[ -n "$VERSION" ] || docker_add_build_arg VERSION "$(get_version)"
|
[ -n "$VERSION" ] || docker_add_build_arg VERSION "$(get_version)"
|
||||||
[ -n "$VERSION" ] && TAGS+=("$VERSION")
|
[ -n "$VERSION" ] && TAGS+=("$VERSION")
|
||||||
# Variables en ligne de commande
|
# Variables en ligne de commande
|
||||||
for var in "${VARS[@]}"; do
|
for var in "${VARS[@]}" "$@"; do
|
||||||
docker_add_build_arg "${var%%=*}" "${var#*=}"
|
docker_add_build_arg "${var%%=*}" "${var#*=}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
function update_build_env() { default_update_build_env; }
|
function update_build_env() { default_update_build_env "$@"; }
|
||||||
|
|
||||||
function default_compose_build() {
|
function default_compose_build() {
|
||||||
${FAKE:+qvals} docker-compose \
|
${FAKE:+qvals} docker-compose \
|
||||||
|
@ -873,24 +873,42 @@ function docker_build() {
|
||||||
[ -n "$BUILD_BUILD" ] || return 0
|
[ -n "$BUILD_BUILD" ] || return 0
|
||||||
default_docker_build "$@"
|
default_docker_build "$@"
|
||||||
}
|
}
|
||||||
|
function __parse_bargs() {
|
||||||
|
bargs=()
|
||||||
|
args=()
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
[[ "$1" == *=* ]] && bargs+=("$1") || args+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
}
|
||||||
function auto_build() {
|
function auto_build() {
|
||||||
local -a replace_env_args env_args
|
local -a replace_env_args env_args
|
||||||
local -a replace_build_args build_args
|
local -a replace_build_args build_args
|
||||||
initialize_build_env
|
initialize_build_env
|
||||||
|
|
||||||
|
local -a args bargs; local barg
|
||||||
|
__parse_bargs "$@"
|
||||||
|
set -- "${args[@]}"
|
||||||
|
|
||||||
if [ -f docker-compose.yml ]; then
|
if [ -f docker-compose.yml ]; then
|
||||||
compose_set_env_args
|
compose_set_env_args
|
||||||
update_build_env
|
update_build_env "${bargs[@]}"
|
||||||
build_update_apps || return 1
|
build_update_apps || return 1
|
||||||
compose_build "$@"
|
compose_build "$@"
|
||||||
elif [ -f Dockerfile ]; then
|
elif [ -f Dockerfile ]; then
|
||||||
docker_parse_env_args
|
docker_parse_env_args
|
||||||
docker_check_name
|
docker_check_name
|
||||||
docker_add_build_arg build_date "$(date +%y%m%d)"
|
docker_add_build_arg build_date "$(date +%y%m%d)"
|
||||||
update_build_env
|
update_build_env "${bargs[@]}"
|
||||||
build_update_apps || return 1
|
build_update_apps || return 1
|
||||||
docker_build "$@"
|
docker_build "$@"
|
||||||
else
|
else
|
||||||
${FAKE:+qvals} "$DOCKER" build ${NO_CACHE:+--no-cache} "$@"
|
for barg in "${bargs[@]}"; do
|
||||||
|
replace_build_args+=(--build-arg "$barg")
|
||||||
|
done
|
||||||
|
${FAKE:+qvals} "$DOCKER" build \
|
||||||
|
${NO_CACHE:+--no-cache} \
|
||||||
|
"${replace_build_args[@]}" "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1078,7 +1096,7 @@ function compose_run() { default_compose_run "$@"; }
|
||||||
function docker_run() { default_docker_run "$@"; }
|
function docker_run() { default_docker_run "$@"; }
|
||||||
function auto_run() {
|
function auto_run() {
|
||||||
eval "$(utools_local parse_opts)"
|
eval "$(utools_local parse_opts)"
|
||||||
local detach no_deps rm=1 service_ports use_aliases volume
|
local detach no_deps rm=1 service_ports use_aliases volume disable_tty
|
||||||
local -a envs labels
|
local -a envs labels
|
||||||
local var
|
local var
|
||||||
for var in "${VARS[@]}"; do
|
for var in "${VARS[@]}"; do
|
||||||
|
@ -1096,6 +1114,7 @@ function auto_run() {
|
||||||
--service-ports service_ports=1
|
--service-ports service_ports=1
|
||||||
--use-aliases use_aliases=1
|
--use-aliases use_aliases=1
|
||||||
-v:,--volume: volume=
|
-v:,--volume: volume=
|
||||||
|
-T disable_tty=1
|
||||||
@ args -- "$@"
|
@ args -- "$@"
|
||||||
)
|
)
|
||||||
parse_opts "${args[@]}" && set -- "${args[@]}" || { eerror "$args"; return 1; }
|
parse_opts "${args[@]}" && set -- "${args[@]}" || { eerror "$args"; return 1; }
|
||||||
|
@ -1114,6 +1133,7 @@ function auto_run() {
|
||||||
${service_ports:+--service-ports}
|
${service_ports:+--service-ports}
|
||||||
${use_aliases:+--use-aliases}
|
${use_aliases:+--use-aliases}
|
||||||
${volume:+-v "$volume"}
|
${volume:+-v "$volume"}
|
||||||
|
${disable_tty:+-T}
|
||||||
)
|
)
|
||||||
compose_run "$@"
|
compose_run "$@"
|
||||||
elif [ -f Dockerfile ]; then
|
elif [ -f Dockerfile ]; then
|
||||||
|
@ -1840,7 +1860,8 @@ while [ $# -gt 0 ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
done
|
done
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
if auto_build; then
|
__parse_bargs "${args[@]}"
|
||||||
|
if auto_build "${bargs[@]}"; then
|
||||||
auto_up "${args[@]}" && auto_logs || die
|
auto_up "${args[@]}" && auto_logs || die
|
||||||
else
|
else
|
||||||
do_auto_down=
|
do_auto_down=
|
||||||
|
@ -1856,7 +1877,8 @@ while [ $# -gt 0 ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
done
|
done
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
auto_build && auto_up "${args[@]}"
|
__parse_bargs "${args[@]}"
|
||||||
|
auto_build "${bargs[@]}" && auto_up "${args[@]}" || die
|
||||||
;;
|
;;
|
||||||
br)
|
br)
|
||||||
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
||||||
|
@ -1868,7 +1890,8 @@ while [ $# -gt 0 ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
done
|
done
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
auto_build && auto_run "${args[@]}"
|
__parse_bargs "${args[@]}"
|
||||||
|
auto_build "${bargs[@]}" && auto_run "${args[@]}" || die
|
||||||
;;
|
;;
|
||||||
y|deploy)
|
y|deploy)
|
||||||
USE_STACK=1
|
USE_STACK=1
|
||||||
|
@ -1889,7 +1912,8 @@ while [ $# -gt 0 ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
done
|
done
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
auto_build && auto_deploy "${args[@]}"
|
__parse_bargs "${args[@]}"
|
||||||
|
auto_build "${bargs[@]}" && auto_deploy "${args[@]}" || die
|
||||||
;;
|
;;
|
||||||
bp)
|
bp)
|
||||||
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
||||||
|
@ -1900,7 +1924,8 @@ while [ $# -gt 0 ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
done
|
done
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
auto_build && auto_push "${args[@]}"
|
__parse_bargs "${args[@]}"
|
||||||
|
auto_build "${bargs[@]}" && auto_push "${args[@]}" || die
|
||||||
;;
|
;;
|
||||||
bpy|bpd)
|
bpy|bpd)
|
||||||
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
||||||
|
@ -1911,7 +1936,8 @@ while [ $# -gt 0 ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
done
|
done
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
auto_build && auto_push && auto_deploy "${args[@]}"
|
__parse_bargs "${args[@]}"
|
||||||
|
auto_build "${bargs[@]}" && auto_push && auto_deploy "${args[@]}" || die
|
||||||
;;
|
;;
|
||||||
ser|service)
|
ser|service)
|
||||||
args=()
|
args=()
|
||||||
|
|
Loading…
Reference in New Issue