Gitea Actions का उपयोग करके Hugo वेबसाइट को AWS S3 पर तैनात करें
एएव्स एस3 पर गिटिया और हुगो को सेट अप करने के बाद...
अगला कदम एक कुछ CI/CD को लागू करना और सेटअप करना है Gitea Actions for Hugo website, to push website to AWS S3 जब मास्टर ब्रांच अपडेट होता है तो स्वचालित रूप से।
हमने पहले से - Gitea के इस्तामल, सेटअप और परीक्षण के बाद Gitea Server Setup और setting up Gitea SSL के साथ, Hugo website deployment to AWS S3 के सेटअप कर चुके हैं।
ठीक है। चलिए आगे बढ़ते हैं
Gitea runner के लिए नया टोकन जनरेट करें
https://your-gitea-server/your-user/your-repo/settings/actions/runners पर जाएं
और Create New Runner
पर क्लिक करें
रजिस्ट्रेशन टोकन कॉपी करें
नए Gitea Runner को शुरू करें
उस सर्वर पर ssh करें जहां आपका नया gitea runner चलेगा
और डॉकर कंटेनर शुरू करें। आप इसे एक अलग एक्जीक्यूटेबल के रूप में शुरू कर सकते हैं, इसे सेवा के रूप में चला सकते हैं आदि, लेकिन यहां मैं एक डॉकर कंटेनर का उपयोग कर रहा हूं।
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
चेक करें कि रनर ठीक रजिस्टर हो गया है
https://your-gitea-server/your-user/your-repo/settings/actions/runners पर जाएं
और आपको यह दिखाई देना चाहिए कि यह पहले से ही चल रहा है
कुछ AWS सुरक्षा रखें
जाएं: https://your-gitea-server/your-user/your-repo/settings/actions/secrets
और AWS_ACCESS_KEY_ID और AWS_SECRET_ACCESS_KEY जैसे कुछ बड़े सुरक्षा रखें। आप जानते हैं कि वे क्या अर्थ हैं, सही?
बनाएं Gitea वर्कफ़्लो जो हुगो को S3 पर बनाए और डिप्लॉइ करे
अपने हुगो प्रोजेक्ट में, फ़ोल्डर .gitea/workflows
में एक फ़ाइल hugo-deploy.yaml
बनाएं
name: Gitea Actions - Hugo Deploy
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
Hugo-Deploy:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
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 "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.134.1' # or remove this for the latest
extended: true
- name: List files in the repository
run: |
ls
- name: Build
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 "🍏 This job's status is ${{ job.status }}."
अगर किसी तरह आपके पास सिडनी में अपने वेबसाइट को होस्ट करने की बड़ी इच्छा नहीं है - तो AWS_REGION को जो आपको अधिक पसंद है उसके लिए बदल दें।
यह कॉन्फ़िगरेशन बिट:
on:
push:
branches:
- master
मास्टर ब्रांच में सभी पुश और मर्ज के लिए देख रहा है।
कमिट और पुश
सर्वर पर बदलाव के पुश करने के बाद आपको पेज पर https://your-gitea-server/your-user/your-repo/actions कुछ ऐसा दिखाई देना चाहिए
एक अच्छा दिन रहे!
उपयोगी लिंक
- Deploy Hugo-generated website to AWS S3
- Submit Google Form in Hugo Website
- Hugo Cheat Sheet
- Most popular themes for Hugo
- Mainroad theme image handling
- Markdown Cheatsheet
- Gitea Server Setup
- Setting up Gitea SSL
- Reinstall linux
- Bash Cheat Sheet
- Hugo Space
- How to store thumbnail images in page bundle folder for Hugo sites with Mainroad theme