#!/usr/bin/env bash echo "Repository name : $DRONE_REPO_NAME" echo "Repository owner: $DRONE_REPO_OWNER" echo "Generating and deploying documentation for user $DRONE_REPO_OWNER and repository $DRONE_REPO_NAME" DOCDIR="Documentation" while [ "$1" ]; do case "$1" in "-d" | "--dir") DOCDIR="$2" shift 1 ;; "-t" | "--type") GENERATOR_NAME="$2" GENERATOR_SCRIPT="/generators/$GENERATOR_NAME.sh" if [ ! -f "$GENERATOR_SCRIPT" ]; then echo "type de documentation inconnue, veuillez entrer un générateur valide" >&2 exit 1 fi shift 1 ;; *) echo "option inconnue $1" >&2 exit 1 ;; esac shift done if [ ! "$GENERATOR_SCRIPT" ]; then echo "option -t obligatoire" >&2 fi . "$GENERATOR_SCRIPT" generate "$DOCDIR" # génère la doc avec le bon générateur SERVER_TARGET="/usr/share/nginx/html/$DRONE_REPO_OWNER/$GENERATOR_NAME/$DRONE_REPO_NAME/" # lance rsync en mode archive, verbeux et compression # créee le dossier cible ($SERVER_TARGET) # puis envoie les fichiers générés par le générateur dans le dossier cible en supprimant les elements qui ne sont pas dans le dossier généré rsync -avz \ --rsync-path="mkdir -p $SERVER_TARGET" \ -e "ssh -o StrictHostKeyChecking=no" \ --delete "$GEN_PATH" root@nginx:$SERVER_TARGET