maj doc ruinst et désactiver déploiement de clé par rwoinst
This commit is contained in:
parent
2991e63d5b
commit
836c933949
68
ruinst
68
ruinst
|
@ -56,37 +56,11 @@ 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 à utiliser
|
||||
pour effectuer la requête. Par défaut, utiliser le nom 'ruinst'"
|
||||
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 'ruinst'"
|
||||
}
|
||||
|
||||
set_defaults pubkeys
|
||||
|
||||
action=deploy
|
||||
confuser=
|
||||
uses_su=
|
||||
tmproot=
|
||||
SSH=
|
||||
force_make_archive=
|
||||
hosts=()
|
||||
deploy_enable=1
|
||||
deploy_confname=ruinst
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
--help '$exit_with display_help' \
|
||||
-C,--configure-user action=configure \
|
||||
--configure: '$set@ confuser;action=configure' \
|
||||
--uses-su uses_su=1 \
|
||||
-T:,--tmproot: tmproot= \
|
||||
-S:,--ssh: SSH= \
|
||||
--force-make-archive force_make_archive=1 \
|
||||
-h:,-H:,--host: hosts \
|
||||
--deploy deploy_enable=1 \
|
||||
--no-deploy deploy_enable= \
|
||||
-c:,--deploy-config deploy_confname= \
|
||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
: "${SSH:=ssh}"
|
||||
|
||||
__PARSED_HOSTS=()
|
||||
__PARSED_FILES=()
|
||||
function parse_hostsfile() {
|
||||
|
@ -150,6 +124,33 @@ function fix_hosts() {
|
|||
array_map hosts __dot_is_localhost
|
||||
}
|
||||
|
||||
set_defaults pubkeys
|
||||
|
||||
action=deploy
|
||||
confuser=
|
||||
uses_su=
|
||||
tmproot=
|
||||
SSH=
|
||||
force_make_archive=
|
||||
hosts=()
|
||||
deploy_enable=1
|
||||
deploy_confname=ruinst
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
--help '$exit_with display_help' \
|
||||
-C,--configure-user action=configure \
|
||||
--configure: '$set@ confuser;action=configure' \
|
||||
--uses-su uses_su=1 \
|
||||
-T:,--tmproot: tmproot= \
|
||||
-S:,--ssh: SSH= \
|
||||
--force-make-archive force_make_archive=1 \
|
||||
-h:,-H:,--host: hosts \
|
||||
--deploy deploy_enable=1 \
|
||||
--no-deploy deploy_enable= \
|
||||
-c:,--deploy-config deploy_confname= \
|
||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
: "${SSH:=ssh}"
|
||||
|
||||
################################################################################
|
||||
# Configuration de l'accès par clé aux hôtes
|
||||
|
||||
|
@ -218,15 +219,13 @@ fi
|
|||
################################################################################
|
||||
# Déploiement
|
||||
|
||||
make_archive=
|
||||
|
||||
## Répertoire à déployer
|
||||
src="$1"
|
||||
if [ -z "$src" ] || [[ "$src" == -* ]]; then
|
||||
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 "."
|
||||
read_value "Entrez le répertoire à déployer" src "." O
|
||||
else
|
||||
# Enlever le répertoire à déployer. Le reste est pour uinst
|
||||
src="$1"
|
||||
shift
|
||||
fi
|
||||
|
||||
|
@ -248,6 +247,7 @@ array_isempty hosts && read_value "Entrez une liste d'hôtes séparés par ':'"
|
|||
fix_hosts
|
||||
|
||||
## Création de l'archive?
|
||||
make_archive=
|
||||
if [ -n "$force_make_archive" ]; then
|
||||
make_archive=1
|
||||
else
|
||||
|
|
80
rwoinst
80
rwoinst
|
@ -10,20 +10,6 @@ USAGE
|
|||
$scriptname [-H host] [-T tmproot] <file|archive|dir>... [-- options de woinst]
|
||||
|
||||
OPTIONS
|
||||
-C, --configure-user
|
||||
--configure USER [--uses-su]
|
||||
Ne pas faire le déploiement. Configurer uniquement la connexion par clé
|
||||
sur les hôtes distants spécifiés pour le user spécifié. Il faut pouvoir
|
||||
se connecter par mot de passe pour configurer la connexion par clé.
|
||||
Si l'on veut configurer la connexion par clé pour le user root, mais que
|
||||
ce n'est pas possible de se connecter par mot de passe avec le user root
|
||||
sur l'hôte distant, et qu'il existe un user sudoer sur l'hôte distant,
|
||||
il est possible de faire la configuration avec '--configure root'. La
|
||||
commande serait alors
|
||||
$scriptname -H user@host --configure root
|
||||
Si l'hôte distant n'a pas sudo ou si sudo n'est pas configuré, il faut
|
||||
rajouter l'option --uses-su, e.g:
|
||||
$scriptname -h user@host --configure root --uses-su
|
||||
-T, --tmproot TMPROOT
|
||||
Spécifier le répertoire temporaire sur l'hôte distant, comme par exemple
|
||||
/var/tmp. Cette option est utile pour les vservers, qui ont par défaut
|
||||
|
@ -57,31 +43,6 @@ OPTIONS
|
|||
pour effectuer la requête. Par défaut, utiliser le nom 'rwoinst'"
|
||||
}
|
||||
|
||||
set_defaults pubkeys
|
||||
|
||||
action=deploy
|
||||
confuser=
|
||||
uses_su=
|
||||
tmproot=
|
||||
SSH=
|
||||
hosts=()
|
||||
deploy_enable=1
|
||||
deploy_confname=rwoinst
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
--help '$exit_with display_help' \
|
||||
-C,--configure-user action=configure \
|
||||
--configure: '$set@ confuser;action=configure' \
|
||||
--uses-su uses_su=1 \
|
||||
-T:,--tmproot: tmproot= \
|
||||
-S:,--ssh: SSH= \
|
||||
-h:,-H:,--host: hosts \
|
||||
--deploy deploy_enable=1 \
|
||||
--no-deploy deploy_enable= \
|
||||
-c:,--deploy-config deploy_confname= \
|
||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
SSH="${SSH:-ssh}"
|
||||
|
||||
__PARSED_HOSTS=()
|
||||
__PARSED_FILES=()
|
||||
function parse_hostsfile() {
|
||||
|
@ -145,25 +106,34 @@ function fix_hosts() {
|
|||
array_map hosts __dot_is_localhost
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Configuration de l'accès par clé aux hôtes
|
||||
action=deploy
|
||||
tmproot=
|
||||
SSH=
|
||||
hosts=()
|
||||
deploy_enable=1
|
||||
deploy_confname=rwoinst
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
--help '$exit_with display_help' \
|
||||
-T:,--tmproot: tmproot= \
|
||||
-S:,--ssh: SSH= \
|
||||
-h:,-H:,--host: hosts \
|
||||
--deploy deploy_enable=1 \
|
||||
--no-deploy deploy_enable= \
|
||||
-c:,--deploy-config deploy_confname= \
|
||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
if [ "$action" == "configure" ]; then
|
||||
args=(${confuser:+--configure "$confuser"} ${uses_su:+--uses-su} -S "$SSH")
|
||||
for host in "${hosts[@]}"; do
|
||||
args=("${args[@]}" -H "$host")
|
||||
done
|
||||
exec "$scriptdir/ruinst" -C "${args[@]}"
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
# Déploiement
|
||||
: "${SSH:=ssh}"
|
||||
|
||||
## Bundle à déployer
|
||||
if [ -z "$1" ] || [[ "$1" == -* ]] || [[ "$1" == *=* ]]; then
|
||||
if [ $# -eq 0 ] || [[ "$1" == -* ]] || [[ "$1" == *=* ]]; then
|
||||
# pas d'argument, ou c'est une option (qui fait donc partie des arguments de
|
||||
# woinst)
|
||||
die "Vous devez spécifier le bundle à déployer"
|
||||
case "$(dirname "$(pwd)")" in
|
||||
*.woa|*.framework) bundle=.;;
|
||||
*) bundle=;;
|
||||
esac
|
||||
read_value "Veuillez entrer le bundle à déployer" bundle "$bundle" O
|
||||
set -- "$bundle" "$@"
|
||||
fi
|
||||
|
||||
## Hôtes sur lesquels faire le déploiement
|
||||
|
@ -184,7 +154,7 @@ array_isempty hosts && read_value "Entrez une liste d'hôtes séparés par ':'"
|
|||
fix_hosts
|
||||
|
||||
## Création de l'archive
|
||||
etitle -s "Création du répertoire de travail"
|
||||
etitle "Création du répertoire de travail"
|
||||
ac_set_tmpdir workdir
|
||||
bundles=()
|
||||
while [ -n "$1" ]; do
|
||||
|
@ -259,7 +229,7 @@ for host in "${hosts[@]}"; do
|
|||
user=root
|
||||
fi
|
||||
|
||||
etitle -s "Déploiement sur $user@$host"
|
||||
etitle "Déploiement sur $user@$host"
|
||||
estep "Copie de l'archive"
|
||||
scp -S "$SSH" "$archive" "$user@$host:" || die
|
||||
estep "Lancement du script de déploiement"
|
||||
|
|
Loading…
Reference in New Issue