Menggunakan Gitea Actions untuk mendeploy situs web Hugo ke AWS S3
Setelah mengatur Gitea dan Hugo di AWS S3...
Langkah berikutnya adalah menerapkan beberapa CI/CD dan mengatur Gitea Actions untuk situs web Hugo, untuk mendorong situs web ke AWS S3 secara otomatis ketika cabang master diperbarui.
Kami sudah - setelah menginstal, mengonfigurasi, dan menguji Gitea Pengaturan Server Gitea, dan mengatur SSL Gitea, mengonfigurasi penyebaran situs web Hugo ke AWS S3.
Baik. Mari kita mulai
Buat token baru untuk Gitea runner
Navigasi ke https://your-gitea-server/your-user/your-repo/settings/actions/runners
dan klik Buat Runner Baru
salin Token Pendaftaran
Mulai runner Gitea baru
ssh ke server di mana runner Gitea baru Anda akan berjalan
dan mulai kontainer docker. Anda dapat memulainya sebagai eksekutable terpisah, jalankan sebagai layanan dll, tetapi di sini saya menggunakan kontainer 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
Periksa apakah runner terdaftar dengan baik
Navigasi ke https://your-gitea-server/your-user/your-repo/settings/actions/runners
dan Anda harus melihat bahwa sudah berjalan
Buat beberapa rahasia AWS
Pergi ke: https://your-gitea-server/your-user/your-repo/settings/actions/secrets
Dan buat beberapa rahasia besar: AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY. Anda tahu artinya, kan?
Buat alur kerja Gitea untuk membangun dan menyebarluaskan Hugo ke s3
Di proyek Hugo Anda, dalam folder .gitea/workflows
buat file hugo-deploy.yaml
name: Gitea Actions - Hugo Deploy
run-name: ${{ gitea.actor }} sedang menguji Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
Hugo-Deploy:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 Tugas ini secara otomatis diaktifkan oleh acara ${{ gitea.event_name }}."
- run: echo "🐧 Tugas ini sekarang berjalan di server ${{ runner.os }} yang dihosting oleh Gitea!"
- run: echo "🔎 Nama cabang Anda adalah ${{ gitea.ref }} dan repositori Anda adalah ${{ gitea.repository }}."
- name: Cek kode repositori
uses: actions/checkout@v4
with:
submodules: true # Unduh tema Hugo (true atau rekursif)
fetch-depth: 0 # Unduh semua sejarah untuk .GitInfo dan .Lastmod
- run: echo "💡 Repositori ${{ gitea.repository }} telah diklon ke runner."
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.134.1' # atau hapus ini untuk versi terbaru
extended: true
- name: Daftar file dalam repositori
run: |
ls
- name: Bangun
run: hugo
- name: Deploy
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 "🍏 Status tugas ini adalah ${{ job.status }}."
Jika suatu saat Anda tidak memiliki keinginan besar untuk menghosting situs Anda di Sydney - ubah AWS_REGION menjadi apa pun yang Anda sukai.
Konfigurasi ini:
on:
push:
branches:
- master
akan mengurus semua push dan merge ke cabang master.
Commit dan push
Setelah mendorong perubahan ke server Anda seharusnya melihat di halaman https://your-gitea-server/your-user/your-repo/actions sesuatu yang mirip dengan
Selamat hari yang menyenangkan!
Tautan yang berguna
- Menyebarluaskan situs web yang dihasilkan Hugo ke AWS S3
- Menyumbit formulir Google di Situs Web Hugo
- Kartu Perintah Hugo
- Tema paling populer untuk Hugo
- Pengelolaan gambar tema Mainroad
- Kartu Perintah Markdown
- Pengaturan Server Gitea
- Mengatur SSL Gitea
- Menginstal ulang Linux
- Kartu Perintah Bash
- Hugo Space
- Cara menyimpan gambar thumbnail di folder bundel halaman untuk situs Hugo dengan tema Mainroad