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