You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
49 lines
1.3 KiB
#!/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 <type> 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
|