From c97bc6a92e7f0c9cd03756cf03aa9adcf6ce51bf Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Mon, 24 Jun 2019 23:57:02 +0400 Subject: [PATCH] dk: support de la commande run --- dk | 136 +++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 97 insertions(+), 39 deletions(-) diff --git a/dk b/dk index c3ba6cd..55d53bb 100755 --- a/dk +++ b/dk @@ -18,7 +18,7 @@ COMMANDES La deuxième syntaxe est utilisée avec un projet docker-compose. Elle permet de pousser les images correspondant aux services qui ont été construit vers le serveur. - s|start|run [SERVICE] + s|start [SERVICE] Démarrer le(s) service(s) k|stop [SERVICE] Arrêter le(s) service(s) @@ -30,6 +30,11 @@ COMMANDES Afficher les logs 0|down Arrêter les services et supprimer l'environnement + r|run SERVICE [COMMAND] + Démarrer le service en mode interactif avec la commande spécifiée + x|exec SERVICE COMMAND + Lancer une commande dans le container correspondant au service spécifié, + qui doit être en fonctionnement d|brd 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 @@ -41,6 +46,10 @@ COMMANDES Construire les images (comme avec build) puis démarrer les services (comme avec start) Equivalent à -- build -- start [args] + br 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] y|deploy [args...] (Re)déployer un stack. Cette commande ne fonctionne qu'en mode swarm. Implique --stack @@ -69,8 +78,6 @@ COMMANDES 'service scale SERVICE=REPLICAS' ip|show-ip [SERVICE] Afficher l'adresse IP interne du service - x|exec SERVICE COMMAND - Lancer la commande dans le container spécifié systemd|systemd-unit Générer une unité systemd qui démarre les services. A priori, ce n'est nécessaire que si aucune politique de redémarrage n'a été définie. @@ -766,6 +773,64 @@ function auto_down() { fi } +function default_compose_run() { + ${FAKE:+qvals} docker-compose \ + "${replace_env_args[@]}" "${env_args[@]}" \ + run "${replace_run_args[@]}" "${run_args[@]}" \ + "${replace_user_args[@]}" "${user_args[@]}" "$@" +} +function default_docker_run() { + ${FAKE:+qvals} docker run \ + "${replace_env_args[@]}" "${env_args[@]}" \ + "${replace_run_args[@]}" "${run_args[@]}" \ + "$NAME" \ + "${replace_user_args[@]}" "${user_args[@]}" "$@" +} +function compose_run() { default_compose_run "$@"; } +function docker_run() { default_docker_run "$@"; } +function auto_run() { + local -a replace_env_args env_args + local -a replace_run_args run_args + local -a replace_user_args user_args + local project_name container_name + if [ -f docker-compose.yml ]; then + compose_set_env_args + compose_run "$@" + else + docker_set_env_args + docker_check_name set_container_name + replace_run_args=(--name "$container_name") + docker_run "$@" + fi +} + +function default_compose_exec() { + ${FAKE:+qvals} docker-compose \ + "${replace_env_args[@]}" "${env_args[@]}" \ + exec "${replace_exec_args[@]}" "${exec_args[@]}" \ + "$@" +} +function default_docker_exec() { + ${FAKE:+qvals} docker container exec \ + "${replace_exec_args[@]}" "${exec_args[@]}" \ + "$container_name" "$@" +} +function compose_exec() { default_compose_exec "$@"; } +function docker_exec() { default_docker_exec "$@"; } +function auto_exec() { + local -a replace_env_args env_args + local -a replace_exec_args exec_args + local project_name container_name + if [ -f docker-compose.yml ]; then + compose_set_env_args + compose_exec "$@" + else + docker_set_env_args + docker_check_name set_container_name + docker_exec "$@" + fi +} + function default_docker_deploy() { ${FAKE:+qvals} docker \ stack deploy \ @@ -858,33 +923,6 @@ function auto_show_ip() { fi } -function default_compose_exec() { - ${FAKE:+qvals} docker-compose \ - "${replace_env_args[@]}" "${env_args[@]}" \ - exec "${replace_exec_args[@]}" "${exec_args[@]}" \ - "$@" -} -function default_docker_exec() { - ${FAKE:+qvals} docker container exec \ - "${replace_exec_args[@]}" "${exec_args[@]}" \ - "$container_name" "$@" -} -function compose_exec() { default_compose_exec "$@"; } -function docker_exec() { default_docker_exec "$@"; } -function auto_exec() { - local -a replace_env_args env_args - local -a replace_exec_args exec_args - local project_name container_name - if [ -f docker-compose.yml ]; then - compose_set_env_args - compose_exec "$@" - else - docker_set_env_args - docker_check_name set_container_name - docker_exec "$@" - fi -} - function default_compose_systemd_unit() { local docker_compose="$(which docker-compose 2>/dev/null)" if [ -z "$docker_compose" ]; then @@ -1065,7 +1103,7 @@ while [ $# -gt 0 ]; do enote "Profil $PROFILE" auto_push "${args[@]}" || die ;; - s|run|start) + s|start) args=() while [ $# -gt 0 -a "$1" != -- ]; do args+=("$1"); shift @@ -1105,6 +1143,22 @@ while [ $# -gt 0 ]; do enote "Profil $PROFILE" auto_down "${args[@]}" || die ;; + r|run) + args=() + while [ $# -gt 0 -a "$1" != -- ]; do + args+=("$1"); shift + done + enote "Profil $PROFILE" + auto_run "${args[@]}" || die + ;; + x|exec) + args=() + while [ $# -gt 0 -a "$1" != -- ]; do + args+=("$1"); shift + done + enote "Profil $PROFILE" + auto_exec "${args[@]}" || die + ;; d|brd) do_auto_down=1 function auto_down_trap() { @@ -1138,6 +1192,18 @@ while [ $# -gt 0 ]; do enote "Profil $PROFILE" auto_build && auto_up "${args[@]}" ;; + br) + build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch" + [ -f .build.scripts.sh ] && source ./.build.scripts.sh + [ -f build.scripts.sh ] && source ./build.scripts.sh + USE_STACK=1 + args=() + while [ $# -gt 0 -a "$1" != -- ]; do + args+=("$1"); shift + done + enote "Profil $PROFILE" + auto_build && auto_run "${args[@]}" + ;; y|deploy) USE_STACK=1 args=() @@ -1213,14 +1279,6 @@ while [ $# -gt 0 ]; do enote "Profil $PROFILE" auto_show_ip "${args[@]}" || die ;; - x|exec) - args=() - while [ $# -gt 0 -a "$1" != -- ]; do - args+=("$1"); shift - done - enote "Profil $PROFILE" - auto_exec "${args[@]}" || die - ;; systemd-unit|systemd) args=() while [ $# -gt 0 -a "$1" != -- ]; do