Usando Gitea Actions para implantar um site Hugo no AWS S3
Após configurar o Gitea e o Hugo no AWS S3...
O próximo passo é implementar algum CI/CD e configurar Actions do Gitea para o site Hugo, para enviar o site para o AWS S3 automaticamente quando a branch master for atualizada.
Nós já - após instalar, configurar e testar o servidor Gitea Configuração do Servidor Gitea, e configurar o SSL do Gitea, configuramos a implantação do site Hugo no AWS S3.
Este guia faz parte da nossa documentação de infraestrutura web que cobre estratégias de implantação no AWS. Para a configuração de distribuição CloudFront, veja criando CloudFront no modelo pay-as-you-go. Você também pode explorar a implantação do Hugo com AWS CLI para abordagens de implantação alternativas.

Ok. Vamos lá.
Gerar novo token para o runner do Gitea
Navegue para https://your-gitea-server/your-user/your-repo/settings/actions/runners
e clique em Create New Runner

copie o Token de Registro
Iniciar novo Runner do Gitea
faça ssh no servidor onde seu novo runner do Gitea será executado
e inicie o container docker. você pode iniciá-lo como um executável separado, executá-lo como um serviço, etc., mas aqui estou usando um container 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
Verificar se o runner foi registrado corretamente
Navegue para https://your-gitea-server/your-user/your-repo/settings/actions/runners
e você deve ver que ele já está em execução.
Criar um par de segredos do AWS
Vá para: https://your-gitea-server/your-user/your-repo/settings/actions/secrets
E crie um par de segredos grandes: AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY. Você sabe o que eles significam, certo?

Criar Workflow do Gitea para construir e implantar o Hugo no s3
No seu projeto Hugo, na pasta .gitea/workflows, crie um arquivo hugo-deploy.yaml
name: Gitea Actions - Hugo Deploy
run-name: ${{ gitea.actor }} está testando as Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
Hugo-Deploy:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 O job foi acionado automaticamente por um evento ${{ gitea.event_name }}."
- run: echo "🐧 Este job está agora rodando em um servidor ${{ runner.os }} hospedado pelo Gitea!"
- run: echo "🔎 O nome da sua branch é ${{ gitea.ref }} e o seu repositório é ${{ 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 "💡 O repositório ${{ gitea.repository }} foi clonado para o 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 "🍏 O status deste job é ${{ job.status }}."
Se de alguma forma você não tiver um enorme desejo de hospedar seu site em Sydney - mude AWS_REGION para o que você preferir.
Esta parte da configuração:
on:
push:
branches:
- master
cuidará de todos os pushes e merges para a branch master.
Commit e push
Após empurrar as alterações para o servidor, você deve ver na página https://your-gitea-server/your-user/your-repo/actions algo próximo a

Tenha um ótimo dia!
Links úteis
- Implantar site gerado pelo Hugo no AWS S3
- Enviar Formulário Google em Site Hugo
- Hugo Cheat Sheet
- Temas mais populares para Hugo
- Tratamento de imagens do tema Mainroad
- Markdown Cheatsheet
- Configuração do Servidor Gitea
- Configurar SSL do Gitea
- Reinstalar Linux
- Bash Cheat Sheet
- Hugo Space
- Como armazenar imagens de miniatura na pasta page bundle para sites Hugo com tema Mainroad