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.
codefirst-docdeployer/entrypoint.sh

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