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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user