deploy.sh: on vérifie l'existence des dépendances

This commit is contained in:
southerntofu 2020-04-16 11:53:39 +02:00
parent 18a5acced8
commit e4bbb3b74d
1 changed files with 23 additions and 3 deletions

View File

@ -1,5 +1,23 @@
#!/bin/bash
doc_admin() {
echo " Pour plus d'information sur l'installation/configuration du serveur, se référer au manuel d'administration."
echo " ~~> docs/administrateurice.md"
}
DEPS=("ansible-playbook" "grep")
# Vérifier que les dépendances sont installées, des fois qu'une personne n'aurait pas lu la doc
for dep in ${DEPS[*]}; do
which "$dep" > /dev/null
if [[ $? != 0 ]]; then
echo "ERREUR: La commande $dep n'existe pas dans mon \$PATH."
echo " Notre recette a besoin des programmes suivants: $DEPS"
doc_admin
exit 2
fi
done
CMD="ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook recette.yml"
REMOTE=false
@ -24,10 +42,12 @@ if [[ $REMOTE = false ]]; then
grep -E "^hostname:.*?fr.tild3.org.*?$" config.yml > /dev/null
FR=$?
if [[ "$(cat /etc/hostname)" != "fr" ]] && [[ $FR = 0 ]]; then
cur_host="$(cat /etc/hostname)"
if [[ "$cur_host" != "fr" ]] && [[ $FR = 0 ]]; then
echo "ERREUR DE CONFIGURATION"
echo " Tu essayes d'appliquer la recette avec la configuration du serveur ~fr (hostname: fr.tild3.org), pourtant il semblerait que ce serveur n'est pas ~fr car /etc/hostname dit le contraire."
echo " Pour configurer ton serveur, tu peux repartir du fichier d'exemple config.default.yml: \`cp config.default.yml config.yml\`. Voir le manuel d'administration dans le ficher \`docs/administrateurice.md\`."
echo " Tu essayes d'appliquer la recette avec la configuration du serveur ~fr (hostname: fr.tild3.org), pourtant il semble que ce serveur n'est pas ~fr (/etc/hostname = $cur_host)."
echo " Pour configurer ton serveur de zéro, tu peux partir du fichier d'exemple config.default.yml."
doc_admin
exit 1
fi