From cef276c076052acfd18c4c10443aec8d73a6d741 Mon Sep 17 00:00:00 2001 From: southerntofu Date: Wed, 15 Apr 2020 17:10:38 +0000 Subject: [PATCH] =?UTF-8?q?La=20commande=20deploy.sh=20s'applique=20locale?= =?UTF-8?q?ment=20par=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy.sh | 10 +++++++--- docs/administrateurice.md | 10 ++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/deploy.sh b/deploy.sh index 6f9de5d..270a728 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,10 +1,14 @@ #!/bin/bash -CMD="ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook -i hosts recette.yml" +CMD="ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook recette.yml" + +if [[ $# = 0 ]]; then + CMD="$CMD --connection=local --inventory 127.0.0.1, --limit 127.0.0.1" +fi for arg in "$@"; do - if [[ $arg = "local" ]]; then - CMD="$CMD --connection=local --inventory 127.0.0.1, --limit 127.0.0.1" + if [[ $arg = "remote" ]]; then + CMD="$CMD -i hosts" fi if [[ $arg = "check" ]]; then CMD="$CMD --syntax-check" diff --git a/docs/administrateurice.md b/docs/administrateurice.md index 7493b4a..07bcdbd 100644 --- a/docs/administrateurice.md +++ b/docs/administrateurice.md @@ -88,18 +88,20 @@ $ cp config.default.yml config.yml Pour une configuration minimale, il faut au moins changer le hostname (en mettant ton nom de domaine) et la clé SSH (voire le nom) de l'utilisateurice. Le reste de la configuration est décrit dans la section [Configuration](#configuration). -Enfin, pour appliquer les changements, il faut lancer le playbook ansible. On utilise pour cela le script deploy.sh. Par défaut, il lance le playbook vers le serveur défini dans le fichier hosts. Si un argument `local` est trouvé, alors le playbook est exécuté localement. +Enfin, pour appliquer les changements, il faut lancer le playbook ansible. On utilise pour cela le script deploy.sh. Par défaut, la recette est appliquée localement et il faut donc la lancer en root. Si un argument "remote" est trouvé, alors la recette est exécuté sur le serveur défini dans le fichier hosts. ``` # Exécuter la recette à distance -user@client:~/infra $ ./deploy.sh +user@client:~/infra $ ./deploy.sh remote ... # Appliquer la recette localement -root@server:~/infra $ ./deploy.sh local +root@server:~/infra $ ./deploy.sh ``` Additionnellement, deploy.sh accepte un argument `check` qui déclenche une simple vérification de la syntaxe Ansible. En résumé : ``` -deploy.sh [local|check] [local|check] +deploy.sh [remote|check] [remote|check] check: vérifie la syntaxe ansible + remote: applique la recette sur un serveur distant (défini dans ./hosts) +```