quelques améliorations dont support du profil de déploiement
This commit is contained in:
parent
0b468307f7
commit
2daf190c60
42
rtoinst
42
rtoinst
|
@ -42,9 +42,12 @@ OPTIONS
|
|||
Par défaut, si aucun hôte n'est spécifié, la configuration locale de
|
||||
déploiement est interrogée pour avoir cette information.
|
||||
-c, --deploy-config CONFNAME
|
||||
Cette option permet de spécifier le nom de la configuration locale de
|
||||
déploiement à utiliser pour effectuer la requête. Par défaut, utiliser
|
||||
le nom 'rtoinst'"
|
||||
Spécifier le nom de la configuration à utiliser pour l'interrogation de
|
||||
la configuration locale de déploiement. Par défaut, utiliser le nom
|
||||
'rtoinst'
|
||||
-p, --deploy-profile PROFILE
|
||||
Spécifier le profil à utiliser pour l'interrogation de la configuration
|
||||
locale de déploiement. Par défaut, aucun profil n'est sélectionné."
|
||||
}
|
||||
|
||||
__PARSED_HOSTS=()
|
||||
|
@ -116,6 +119,7 @@ SSH=
|
|||
hosts=()
|
||||
deploy_enable=1
|
||||
deploy_confname=rtoinst
|
||||
deploy_profile=
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
--help '$exit_with display_help' \
|
||||
-T:,--tmproot: tmproot= \
|
||||
|
@ -123,7 +127,8 @@ parse_opts "${PRETTYOPTS[@]}" \
|
|||
-h:,-H:,--host: hosts \
|
||||
--deploy deploy_enable=1 \
|
||||
--no-deploy deploy_enable= \
|
||||
-c:,--deploy-config deploy_confname= \
|
||||
-c:,--deploy-config: deploy_confname= \
|
||||
-p:,--deploy-profile: deploy_profile= \
|
||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
: "${SSH:=ssh}"
|
||||
|
@ -142,7 +147,7 @@ if array_isempty hosts && [ -n "$deploy_enable" ]; then
|
|||
deploy_setconf "$deploy_confname"
|
||||
if deploy_loadconf; then
|
||||
setxx webapp=abspath "$1" // basename --
|
||||
if eval "$(deploy_query -v host DEST webapp rtoinst_deploy "" shell "$webapp")"; then
|
||||
if eval "$(deploy_query -v host DEST webapp rtoinst_deploy "$deploy_profile" shell "$webapp")"; then
|
||||
check_interaction -c && einfo "Cette webapp sera déployée vers les hôtes suivants:
|
||||
$(array_to_lines host "" " ")"
|
||||
ask_any "Voulez-vous continuer?" Oq || die
|
||||
|
@ -157,7 +162,7 @@ fix_hosts
|
|||
etitle "Création du répertoire de travail"
|
||||
ac_set_tmpdir workdir
|
||||
webapps=()
|
||||
while [ -n "$1" ]; do
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ "$1" == "--" ]; then
|
||||
# début des options de toinst
|
||||
shift
|
||||
|
@ -167,21 +172,26 @@ while [ -n "$1" ]; do
|
|||
break
|
||||
fi
|
||||
|
||||
src="$1"; shift
|
||||
osrc="$1"; shift
|
||||
setx src=abspath "$osrc"
|
||||
setx srcname=basename -- "$src"
|
||||
if [ -f "$src" ] && is_archive "$src"; then
|
||||
estep "$(ppath "$src")"
|
||||
cp_R "$src" "$workdir" || die
|
||||
setx waname=get_archive_appname "$src"
|
||||
estep "$(ppath "$src") --> $waname"
|
||||
wadir="$workdir/$waname"
|
||||
mkdir "$wadir"
|
||||
extract_archive "$src" "$wadir" || die
|
||||
src="$wadir"
|
||||
elif [ -d "$src" ]; then
|
||||
estep "$(ppath "$src")"
|
||||
cp_R "$src" "$workdir" || die
|
||||
cp_R "$src" "$workdir/$srcname" || die
|
||||
elif [ -e "$src" ]; then
|
||||
die "$src: fichier invalide"
|
||||
die "$osrc: fichier invalide"
|
||||
else
|
||||
die "$src: fichier ou répertoire introuvable"
|
||||
die "$osrc: fichier ou répertoire introuvable"
|
||||
fi
|
||||
|
||||
src="$(abspath "$src")"
|
||||
array_add webapps "$(basename "$src")"
|
||||
array_add webapps "$srcname"
|
||||
done
|
||||
|
||||
estep "Copie de l'environnement de déploiement"
|
||||
|
@ -196,7 +206,7 @@ ac_set_tmpfile archive
|
|||
archivename="$(basename "$archive")"
|
||||
|
||||
etitle "Création de l'archive pour le déploiement"
|
||||
"$scriptdir/mkusfx" --bare --tmp-archive -o "$archive" "$workdir" -- ./toinst "${webapps[@]}" || die
|
||||
"$scriptdir/mkusfx" --bare --tmp-archive -o "$archive" "$workdir" -- ./toinst --is-tmpdir || die
|
||||
eend
|
||||
|
||||
## Déploiement
|
||||
|
@ -224,7 +234,7 @@ __estack=$(qval "$__estack")
|
|||
__tlevel=$(qval "$__tlevel")
|
||||
export __interaction __estack __tlevel
|
||||
${UTOOLS_LANG:+UTOOLS_LANG='$UTOOLS_LANG'; export UTOOLS_LANG
|
||||
}$(qvals "./$archivename" ${tmproot:+--tmproot "$tmproot"} -- MYHOST="$host" "$@")"
|
||||
}$(qvals "./$archivename" ${tmproot:+--tmproot "$tmproot"} -- "${webapps[@]}" "$@")"
|
||||
eend
|
||||
fi
|
||||
done
|
||||
|
|
23
toinst
23
toinst
|
@ -166,6 +166,8 @@ function parse_tomcat_users() {
|
|||
action=deploy
|
||||
parse_tomcat_users=
|
||||
parse_server=
|
||||
istmpdir=
|
||||
tmpdir=
|
||||
config=
|
||||
tomcat_profile=
|
||||
catalina_base=
|
||||
|
@ -187,6 +189,7 @@ args=(
|
|||
--help '$exit_with display_help'
|
||||
--private-parse-server '$action=parse; parse_server=1'
|
||||
--private-parse-tomcat-users '$action=parse; parse_tomcat_users=1'
|
||||
--is-tmpdir '$istmpdir=1; tmpdir=.'
|
||||
-c:,--config: config=
|
||||
-C:,--config-profile: tomcat_profile=
|
||||
-d:,--catalina-base:,--catalina-home: catalina_base=
|
||||
|
@ -371,21 +374,23 @@ if [ $# -eq 0 ]; then
|
|||
fi
|
||||
|
||||
srcs=()
|
||||
[ -n "$istmpdir" ] || ac_set_tmpdir tmpdir
|
||||
for src in "$@"; do
|
||||
if [ -d "$src" ]; then
|
||||
array_add srcs "$(abspath "$src")"
|
||||
elif [ -f "$src" ]; then
|
||||
if [ -f "$src" ] && is_archive "$src"; then
|
||||
setx waname=get_archive_appname "$src"
|
||||
ac_set_tmpdir tmpdir
|
||||
tmpdir="$tmpdir/$waname"
|
||||
mkdir "$tmpdir"
|
||||
if extract_archive "$src" "$tmpdir"; then
|
||||
array_add srcs "$tmpdir"
|
||||
wadir="$tmpdir/$waname"
|
||||
mkdir "$wadir"
|
||||
if extract_archive "$src" "$wadir"; then
|
||||
array_add srcs "$wadir"
|
||||
else
|
||||
eerror "$src: erreur lors de l'extraction de l'archive"
|
||||
fi
|
||||
elif [ -d "$src" ]; then
|
||||
array_add srcs "$(abspath "$src")"
|
||||
elif [ -e "$src" ]; then
|
||||
eerror "$src: fichier invalide"
|
||||
else
|
||||
eerror "$src: webapp introuvable"
|
||||
eerror "$src: fichier ou répertoire introuvable"
|
||||
fi
|
||||
done
|
||||
[ ${#srcs[*]} -gt 0 -o -n "$fake" ] || die
|
||||
|
|
Loading…
Reference in New Issue