From 0365c5483cfd87569d047b9924246469db11bf14 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Fri, 21 Apr 2017 17:50:54 +0400 Subject: [PATCH] =?UTF-8?q?am=C3=A9liorer=20l'ergonomie=20de=20ruinst,=20r?= =?UTF-8?q?woinst,=20toinst:=20pas=20la=20peine=20de=20confirmer=20le=20r?= =?UTF-8?q?=C3=A9pertoire=20courant=20s'il=20est=20d=C3=A9ploy=C3=A9=20sur?= =?UTF-8?q?=20un=20h=C3=B4te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtoinst | 28 ++++++++++++++++++++-------- ruinst | 24 ++++++++++++++++-------- rwoinst | 35 +++++++++++++++++++++++------------ 3 files changed, 59 insertions(+), 28 deletions(-) diff --git a/rtoinst b/rtoinst index 608e852..e60140d 100755 --- a/rtoinst +++ b/rtoinst @@ -133,23 +133,24 @@ parse_opts "${PRETTYOPTS[@]}" \ : "${SSH:=ssh}" -## webapp à déployer +## webapp à déployer et hôtes sur lesquels faire le déploiement +confirm_webapp= if [ $# -eq 0 ] || [[ "$1" == -* ]]; then # pas d'argument, ou c'est une option (qui fait donc partie des arguments de toinst) [ -d WEB-INF ] && webapp=. || webapp= - read_value "Veuillez entrer la webapp à déployer" webapp "$webapp" O - set -- "$webapp" "$@" + confirm_webapp=1 +else + webapp="$1" fi -## Hôtes sur lesquels faire le déploiement toinst_options=() -if array_isempty hosts && [ -n "$deploy_enable" ]; then +if array_isempty hosts && [ -n "$deploy_enable" -a -n "$webapp" ]; then urequire deploy deploy_setconf "$deploy_confname" if deploy_loadconf; then - setxx webapp=abspath "$1" // basename -- - if eval "$(deploy_query -v host,wamap,protect DEST webapp rtoinst_deploy "$deploy_profile" shell "$webapp")"; then - msg="Cette webapp sera déployée vers les hôtes suivants: + setxx waname=abspath "$webapp" // basename -- + if eval "$(deploy_query -v host,wamap,protect DEST webapp rtoinst_deploy "$deploy_profile" shell "$waname")"; then + msg="$waname: cette webapp sera déployée vers les hôtes suivants: $(array_to_lines host "" " ")" if [ -n "$wamap" -o -n "$protect" ]; then msg="$msg @@ -164,9 +165,20 @@ avec le(s) paramètre(s) suivant(s):" array_copy hosts host [ -n "$wamap" ] && array_add toinst_options --wamap "$wamap" [ -n "$protect" ] && array_add toinst_options --protect "$protect" + if [ -n "$confirm_webapp" ]; then + confirm_webapp= + set -- "$webapp" "$@" + fi fi fi fi + +if [ -n "$confirm_webapp" ]; then + # pas d'argument, ou c'est une option (qui fait donc partie des arguments de toinst) + read_value "Veuillez entrer la webapp à déployer" webapp "$webapp" O + set -- "$webapp" "$@" +fi + array_isempty hosts && read_value "Entrez une liste d'hôtes séparés par ':'" hosts "localhost" fix_hosts diff --git a/ruinst b/ruinst index 1dc3fed..66691a4 100755 --- a/ruinst +++ b/ruinst @@ -219,30 +219,38 @@ fi ################################################################################ # Déploiement -## Répertoire à déployer +## Répertoires à déployer et hôtes sur lesquels faire le déploiement +confirm_src= if [ $# -eq 0 ] || [[ "$1" == -* ]] || [[ "$1" == *=* ]]; then - # pas d'argument, ou c'est une option (qui fait donc partie des arguments de uinst) - read_value "Entrez le répertoire à déployer" src "." O + # pas d'argument, ou c'est une option (qui fait donc partie des arguments de toinst) + src=. + confirm_src=1 else # Enlever le répertoire à déployer. Le reste est pour uinst src="$1" shift fi -## Hôtes sur lesquels faire le déploiement -if array_isempty hosts && [ -n "$deploy_enable" ]; then +if array_isempty hosts && [ -n "$deploy_enable" -a -n "$src" ]; then urequire deploy deploy_setconf "$deploy_confname" if deploy_loadconf; then - setxx module=abspath "$src" // basename -- - if eval "$(deploy_query -v host DEST module ruinst_deploy "" shell "$module")"; then - check_interaction -c && einfo "Ce module sera déployé vers les hôtes suivants: + setxx srcname=abspath "$src" // basename -- + if eval "$(deploy_query -v host DEST module ruinst_deploy "" shell "$srcname")"; then + check_interaction -c && einfo "$srcname: ce module sera déployé vers les hôtes suivants: $(array_to_lines host "" " ")" ask_any "Voulez-vous continuer?" Oq || die array_copy hosts host + confirm_src= fi fi fi + +if [ -n "$confirm_src" ]; then + # pas d'argument, ou c'est une option (qui fait donc partie des arguments de toinst) + read_value "Entrez le répertoire à déployer" src "$src" O +fi + array_isempty hosts && read_value "Entrez une liste d'hôtes séparés par ':'" hosts "localhost" fix_hosts diff --git a/rwoinst b/rwoinst index ddbb77e..e93484c 100755 --- a/rwoinst +++ b/rwoinst @@ -124,32 +124,43 @@ parse_opts "${PRETTYOPTS[@]}" \ : "${SSH:=ssh}" -## Bundle à déployer +## Bundle à déployer et hôtes sur lesquels faire le déploiement +confirm_bundle= if [ $# -eq 0 ] || [[ "$1" == -* ]] || [[ "$1" == *=* ]]; then - # pas d'argument, ou c'est une option (qui fait donc partie des arguments de - # woinst) - case "$(dirname "$(pwd)")" in + # pas d'argument, ou c'est une option (qui fait donc partie des arguments de toinst) + case "$(basename -- "$(pwd)")" in *.woa|*.framework) bundle=.;; *) bundle=;; esac - read_value "Veuillez entrer le bundle à déployer" bundle "$bundle" O - set -- "$bundle" "$@" + confirm_bundle=1 +else + bundle="$1" fi -## Hôtes sur lesquels faire le déploiement -if array_isempty hosts && [ -n "$deploy_enable" ]; then +if array_isempty hosts && [ -n "$deploy_enable" -a -n "$bundle" ]; then urequire deploy deploy_setconf "$deploy_confname" if deploy_loadconf; then - setxx wobundle=abspath "$1" // basename -- - if eval "$(deploy_query -v host DEST wobundle rwoinst_bundle "" shell "$wobundle")"; then - check_interaction -c && einfo "Ce bundle sera déployé vers les hôtes suivants: + setxx bundlename=abspath "$bundle" // basename -- + if eval "$(deploy_query -v host DEST wobundle rwoinst_bundle "" shell "$bundlename")"; then + check_interaction -c && einfo "$bundlename: ce bundle sera déployé vers les hôtes suivants: $(array_to_lines host "" " ")" ask_any "Voulez-vous continuer?" Oq || die array_copy hosts host + if [ -n "$confirm_bundle" ]; then + confirm_bundle= + set -- "$bundle" "$@" + fi fi fi fi + +if [ -n "$confirm_bundle" ]; then + # pas d'argument, ou c'est une option (qui fait donc partie des arguments de toinst) + read_value "Veuillez entrer la bundle à déployer" bundle "$bundle" O + set -- "$bundle" "$@" +fi + array_isempty hosts && read_value "Entrez une liste d'hôtes séparés par ':'" hosts "localhost" fix_hosts @@ -180,7 +191,7 @@ while [ -n "$1" ]; do else die "N'est pas un bundle valide: $(ppath "$src")" fi - estep "$(ppath "$src")" + estep "$(ppath2 "$src")" cp_R "$src" "$workdir" || die else die "Fichier ou répertoire introuvable: $src"