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
|
Par défaut, si aucun hôte n'est spécifié, la configuration locale de
|
||||||
déploiement est interrogée pour avoir cette information.
|
déploiement est interrogée pour avoir cette information.
|
||||||
-c, --deploy-config CONFNAME
|
-c, --deploy-config CONFNAME
|
||||||
Cette option permet de spécifier le nom de la configuration à utiliser
|
Cette option permet de spécifier le nom de la configuration locale de
|
||||||
pour effectuer la requête. Par défaut, utiliser le nom 'ruinst'"
|
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_HOSTS=()
|
||||||
__PARSED_FILES=()
|
__PARSED_FILES=()
|
||||||
function parse_hostsfile() {
|
function parse_hostsfile() {
|
||||||
|
@ -150,6 +124,33 @@ function fix_hosts() {
|
||||||
array_map hosts __dot_is_localhost
|
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
|
# Configuration de l'accès par clé aux hôtes
|
||||||
|
|
||||||
|
@ -218,15 +219,13 @@ fi
|
||||||
################################################################################
|
################################################################################
|
||||||
# Déploiement
|
# Déploiement
|
||||||
|
|
||||||
make_archive=
|
|
||||||
|
|
||||||
## Répertoire à déployer
|
## Répertoire à déployer
|
||||||
src="$1"
|
if [ $# -eq 0 ] || [[ "$1" == -* ]] || [[ "$1" == *=* ]]; then
|
||||||
if [ -z "$src" ] || [[ "$src" == -* ]]; then
|
|
||||||
# pas d'argument, ou c'est une option (qui fait donc partie des arguments de uinst)
|
# 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
|
else
|
||||||
# Enlever le répertoire à déployer. Le reste est pour uinst
|
# Enlever le répertoire à déployer. Le reste est pour uinst
|
||||||
|
src="$1"
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -248,6 +247,7 @@ array_isempty hosts && read_value "Entrez une liste d'hôtes séparés par ':'"
|
||||||
fix_hosts
|
fix_hosts
|
||||||
|
|
||||||
## Création de l'archive?
|
## Création de l'archive?
|
||||||
|
make_archive=
|
||||||
if [ -n "$force_make_archive" ]; then
|
if [ -n "$force_make_archive" ]; then
|
||||||
make_archive=1
|
make_archive=1
|
||||||
else
|
else
|
||||||
|
|
80
rwoinst
80
rwoinst
|
@ -10,20 +10,6 @@ USAGE
|
||||||
$scriptname [-H host] [-T tmproot] <file|archive|dir>... [-- options de woinst]
|
$scriptname [-H host] [-T tmproot] <file|archive|dir>... [-- options de woinst]
|
||||||
|
|
||||||
OPTIONS
|
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
|
-T, --tmproot TMPROOT
|
||||||
Spécifier le répertoire temporaire sur l'hôte distant, comme par exemple
|
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
|
/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'"
|
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_HOSTS=()
|
||||||
__PARSED_FILES=()
|
__PARSED_FILES=()
|
||||||
function parse_hostsfile() {
|
function parse_hostsfile() {
|
||||||
|
@ -145,25 +106,34 @@ function fix_hosts() {
|
||||||
array_map hosts __dot_is_localhost
|
array_map hosts __dot_is_localhost
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################################
|
action=deploy
|
||||||
# Configuration de l'accès par clé aux hôtes
|
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
|
: "${SSH:=ssh}"
|
||||||
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
|
|
||||||
|
|
||||||
## Bundle à déployer
|
## 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
|
# pas d'argument, ou c'est une option (qui fait donc partie des arguments de
|
||||||
# woinst)
|
# 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
|
fi
|
||||||
|
|
||||||
## Hôtes sur lesquels faire le déploiement
|
## 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
|
fix_hosts
|
||||||
|
|
||||||
## Création de l'archive
|
## 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
|
ac_set_tmpdir workdir
|
||||||
bundles=()
|
bundles=()
|
||||||
while [ -n "$1" ]; do
|
while [ -n "$1" ]; do
|
||||||
|
@ -259,7 +229,7 @@ for host in "${hosts[@]}"; do
|
||||||
user=root
|
user=root
|
||||||
fi
|
fi
|
||||||
|
|
||||||
etitle -s "Déploiement sur $user@$host"
|
etitle "Déploiement sur $user@$host"
|
||||||
estep "Copie de l'archive"
|
estep "Copie de l'archive"
|
||||||
scp -S "$SSH" "$archive" "$user@$host:" || die
|
scp -S "$SSH" "$archive" "$user@$host:" || die
|
||||||
estep "Lancement du script de déploiement"
|
estep "Lancement du script de déploiement"
|
||||||
|
|
Loading…
Reference in New Issue