Mit Gitea Actions einen Hugo-Webserver auf AWS S3 bereitstellen
Nachdem Gitea und Hugo auf AWS S3 eingerichtet wurden...
Der nächste Schritt besteht darin, einige CI/CD-Tools zu implementieren und Gitea Actions für die Hugo-Website, um die Website automatisch auf AWS S3 zu pushen einzurichten, sobald der Master-Branch aktualisiert wird.
Wir haben bereits – nach der Installation, Konfiguration und dem Testen des Gitea-Servers Gitea Server Setup, und Einrichten von Gitea SSL, Einrichtung der Hugo-Website-Deployment auf AWS S3.
OK. Los geht’s
Neuen Token für den Gitea Runner generieren
Navigieren Sie zu https://your-gitea-server/your-user/your-repo/settings/actions/runners
und klicken Sie auf Create New Runner
kopieren Sie den Registrierungstoken
Neuen Gitea Runner starten
ssh auf den Server, auf dem der neue Gitea Runner laufen wird
und starten Sie den Docker-Container. Sie können ihn als separates Ausführbares starten, ihn als Dienst laufen lassen usw., aber hier verwende ich einen Docker-Container.
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
Prüfen, ob der Runner erfolgreich registriert wurde
Navigieren Sie zu https://your-gitea-server/your-user/your-repo/settings/actions/runners
und Sie sollten sehen, dass er bereits läuft
Ein paar AWS-Secrets erstellen
Gehen Sie zu: https://your-gitea-server/your-user/your-repo/settings/actions/secrets
und erstellen Sie ein paar große Geheimnisse: AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY. Sie wissen, was sie bedeuten, oder?
Gitea-Workflow für das Erstellen und Deployen von Hugo auf S3 erstellen
In Ihrem Hugo-Projekt, in dem Ordner .gitea/workflows
erstellen Sie eine Datei hugo-deploy.yaml
name: Gitea Actions - Hugo Deploy
run-name: ${{ gitea.actor }} testet Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
Hugo-Deploy:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 Der Job wurde automatisch durch ein ${{ gitea.event_name }} Ereignis ausgelöst."
- run: echo "🐧 Dieser Job läuft jetzt auf einem ${{ runner.os }} Server, der von Gitea gehostet wird!"
- run: echo "🔎 Der Name Ihres Branches ist ${{ gitea.ref }} und Ihr Repository ist ${{ gitea.repository }}."
- name: Repository-Code auschecken
uses: actions/checkout@v4
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- run: echo "💡 Das ${{ gitea.repository }} Repository wurde auf den Runner geklont."
- name: Hugo einrichten
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.134.1' # oder entfernen Sie dies für die neueste Version
extended: true
- name: Dateien im Repository auflisten
run: |
ls
- name: Bauen
run: hugo
- name: Deployen
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 "🍏 Der Status dieses Jobs ist ${{ job.status }}."
Falls Sie aus irgendeinem Grund nicht sehr stark den Wunsch haben, Ihre Website in Sydney zu hosten – ändern Sie AWS_REGION einfach in etwas, das Ihnen besser gefällt.
Dieser Konfigurationsabschnitt:
on:
push:
branches:
- master
wird dafür sorgen, dass alle Push- und Merge-Operationen in den Master-Branch abgefangen werden.
Ändern und Pushen
Nachdem Sie die Änderungen auf den Server gepusht haben, sollten Sie auf der Seite https://your-gitea-server/your-user/your-repo/actions etwas in der Nähe von
sehen.
Haben Sie einen wunderbaren Tag!
Nützliche Links
- Hugo-Website auf AWS S3 deployen
- Google-Formular in einer Hugo-Website einreichen
- Hugo Cheatsheet
- Beliebteste Themes für Hugo
- Mainroad Theme – Bildverarbeitung
- Markdown Cheatsheet
- Gitea Server Setup
- Einrichten von Gitea SSL
- Linux neu installieren
- Bash Cheatsheet
- Hugo Space
- Wie man Vorschaubilder in den Page-Bundle-Ordner für Hugo-Websites mit dem Mainroad Theme speichert