Installation
Sur Arch : pacman -S pelican
Via pip : pip install --user pelican
Utilisation
Les articles vont dans content
(cf ceux déjà existants). Les images dans content/images
, les fichiers dans content/files
.
On peut facilement faire un lien vers :
- une image :
![](/images/img.png)
- un fichier :
[mon fichier](/files/fichier.pdf)
Déploiement
On commence par vérifier que tout build bien :
make html
make publish
On peut ensuite vérifier que tout s'affiche correctement, en local :
make serve
Si tout va bien, on pousse sur master
:
git add <fichiers>
git commit -m "Un petit message"
git push origin master
Le reste est fait automatiquement dans la CD.
Configuration de la CD
CD : Continuous Delivery (déploiement automatisé)
Script post-receive
Dans la configuration du projet, Déclencheurs git puis post-receive.
On se connecte au serveur avec l'utilisateur creativecalc
, puis on exécute le script update.sh
.
#!/bin/bash
ssh creativecalc@creativecalc.fr "/home/creativecalc/update.sh"
Autoriser Gitea se connecter en SSH
On ajoute la clé publique de l'utilisateur gitea
au fichier authorized_keys
de creativecalc
.
cat /home/gitea/.ssh/id_ed25519.pub >> /home/creativecalc/.ssh/authorized_keys
On ajoute aussi l'utilisateur creativecalc
à la liste de ceux qui ont le droit de se connecter par SSH.
Vérifier que la ligne AllowUsers
dans le fichier /etc/ssh/sshd_config
contient bien l'utilisateur creativecalc
.
On peut vérifier que tout est ok :
root # su gitea
gitea $ ssh creativecalc@creativecalc.fr
creativecalc $
Configurer le hook
On ajoute le script hook dans /home/creativecalc/
.
cat << EOF > update.sh
#!/bin/bash
logfile=$HOME/update.log
echo "=== Started deployment ($(date '+%Y-%m-%d %H:%M:%S')) ===" >> $logfile
cd /home/creativecalc/repository
git pull origin master
make publish OUTPUTDIR=/home/creativecalc/www
echo -e "=== Ended deployment ===\n" >> $logfile
EOF
chmod u+x update.sh
Débugguer la CD
En cas de pépins, aller regarder sur le VPS les logs (/home/creativecalc/update.log
).