Déploiement Blog Hugo
|
~ 1 min
| 159 mots
Pour déployer facilement mon blog avec hugo en auto-hébergé tout en gardant le code sur gitlab, j’utilise la méthode suivante :
- Un repository gitlab distant avec mon code.
- Une intégration continue gitlab qui génère une archive du site : voir ici, mais qui n’est pas déployé
- Un script local sur mon serveur me permettant de déployer mon site sans difficulté en modifiant le contenu d’un répertoire présenté par mon serveur web
Voici ainsi le type de script que j’ai ainsi utilisé, le principe est de récupérer le dernier artefact de gitlab et
ensuite de le déployer dans le dossier /var/www/public
:
#!/bin/bash
# CONFIG
ARCHIVE_PATH="/tmp/artifacts.zip"
PROJECT_NUMBER="YOURPROJECTNUMBER"
DEST_PATH="/var/www/"
GITLAB_ACCESS_TOKEN="YOURTOKEN"
GITLAB_INSTANCE="YOURINSTANCE"
BRANCH="YOUR BRANCHE"
JOB_NAME="pages"
# DEPLOY
set -e
curl --location --header "PRIVATE-TOKEN: $GITLAB_ACCESS_TOKEN" "https://$GITLAB_INSTANCE/api/v4/projects/$PROJECT_NUMBER/jobs/artifacts/$BRANCH/download?job=$JOB_NAME" --output "$ARCHIVE_PATH"
sudo rm -R "$DEST_PATH/public"
sudo unzip "$ARCHIVE_PATH" -d "$DEST_PATH"
sudo chown -R www-data:www-data "$DEST_PATH/public"
rm "$ARCHIVE_PATH"
Il suffit alors d’attendre que la CI passe et soit validé côté gitlab pour pouvoir appliquer le script. 😀