Utiliser Gitea Actions pour déployer un site Hugo sur AWS S3
Après avoir mis à jour Gitea et Hugo sur AWS S3...
La prochaine étape consiste à mettre en œuvre certains CI/CD et à configurer Gitea Actions pour le site Hugo, afin de pousser le site vers AWS S3 automatiquement lorsque la branche master est mise à jour.
Nous avons déjà - après l’installation, la configuration et les tests du Gitea Configuration du serveur Gitea, et configuration SSL Gitea, configuré déploiement du site Hugo vers AWS S3.
OK. Allons-y
Générer un nouveau jeton pour le runner Gitea
Accédez à https://your-gitea-server/your-user/your-repo/settings/actions/runners
et cliquez sur Créer un nouveau runner
copiez le jeton d’enregistrement
Démarrer un nouveau runner Gitea
connectez-vous via SSH au serveur sur lequel votre nouveau runner Gitea sera exécuté
et démarrez le conteneur Docker. vous pouvez le démarrer comme un exécutable distinct, le faire fonctionner comme un service, etc., mais ici j’utilise un conteneur Docker.
sudo docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-e GITEA_INSTANCE_URL=http://<my-gitea-server>:3000/ \
-e GITEA_RUNNER_REGISTRATION_TOKEN=<my-registration-token> \
-e GITEA_RUNNER_NAME=srv-act-runner \
--name my_runner \
--restart always \
-d docker.io/gitea/act_runner:latest
Vérifier que le runner est bien enregistré
Accédez à https://your-gitea-server/your-user/your-repo/settings/actions/runners
et vous devriez voir qu’il est déjà en cours d’exécution
Créer quelques secrets AWS
Allez à : https://your-gitea-server/your-user/your-repo/settings/actions/secrets
Et créez quelques grands secrets : AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY. Vous savez ce qu’ils signifient, n’est-ce pas ?
Créer un workflow Gitea pour la génération et le déploiement de Hugo vers S3
Dans votre projet Hugo, dans le dossier .gitea/workflows
créez un fichier hugo-deploy.yaml
name: Gitea Actions - Déploiement Hugo
run-name: ${{ gitea.actor }} est en train de tester les Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
Hugo-Deploy:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 La tâche a été automatiquement déclenchée par un événement ${{ gitea.event_name }}."
- run: echo "🐧 Cette tâche est maintenant en cours d'exécution sur un serveur ${{ runner.os }} hébergé par Gitea !"
- run: echo "🔎 Le nom de votre branche est ${{ gitea.ref }} et votre dépôt est ${{ gitea.repository }}."
- name: Vérifier le code du dépôt
uses: actions/checkout@v4
with:
submodules: true # Récupérer les thèmes Hugo (true OR récursif)
fetch-depth: 0 # Récupérer toute l'histoire pour .GitInfo et .Lastmod
- run: echo "💡 Le dépôt ${{ gitea.repository }} a été cloné sur le runner."
- name: Configurer Hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.134.1' # ou supprimez cela pour la version la plus récente
extended: true
- name: Lister les fichiers dans le dépôt
run: |
ls
- name: Construire
run: hugo
- name: Déployer
run: hugo deploy
env:
AWS_REGION: 'ap-southeast-2'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- run: echo "🍏 L'état de cette tâche est ${{ job.status }}."
Si, pour une raison quelconque, vous n’avez pas particulièrement envie d’héberger votre site à Sydney - changez AWS_REGION en ce que vous préférez.
Cette configuration :
on:
push:
branches:
- master
veillera à ce que toutes les pushes et les merges vers la branche master soient pris en charge.
Commit et push
Après avoir poussé les modifications vers le serveur, vous devriez voir sur la page https://your-gitea-server/your-user/your-repo/actions quelque chose de similaire à
Bonne journée !
Liens utiles
- Déployer un site généré par Hugo vers AWS S3
- Soumettre un formulaire Google dans un site Hugo
- Feuille de triche Hugo
- Thèmes les plus populaires pour Hugo
- Configuration de l’image pour le thème Mainroad
- Feuille de triche Markdown
- Configuration du serveur Gitea
- Configuration SSL Gitea
- Réinstallation Linux
- Feuille de triche Bash
- Hugo Space
- Comment stocker les images miniature dans le dossier du package de page pour les sites Hugo avec le thème Mainroad