Deployment
Deployment
Veröffentliche deine Hugo-Website auf verschiedenen Plattformen.
GitHub Pages
Schritt 1: Repository erstellen
Erstelle ein GitHub-Repository für dein Projekt.
Schritt 2: GitHub Actions einrichten
Erstelle .github/workflows/hugo.yaml:
name: Deploy Hugo site to Pages
on:
push:
branches: ["main"]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.21'
- uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true
- run: hugo --minify
- uses: actions/upload-pages-artifact@v3
with:
path: ./public
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/deploy-pages@v4Schritt 3: GitHub Pages aktivieren
Gehe zu deinen Repository-Einstellungen und aktiviere GitHub Pages.
Netlify
Deployment mit Netlify
- Verbinde dein GitHub-Repository mit Netlify
- Netlify erkennt Hugo automatisch
- Build-Kommando:
hugo --minify - Publish-Verzeichnis:
public
netlify.toml
Erstelle eine netlify.toml:
[build]
command = "hugo --minify"
publish = "public"
[build.environment]
HUGO_VERSION = "0.147.5"
[[redirects]]
from = "/*"
to = "/404.html"
status = 404Vercel
Deployment mit Vercel
- Importiere dein Projekt von GitHub
- Vercel erkennt Hugo automatisch
- Deploy!
Cloudflare Pages
Deployment mit Cloudflare Pages
- Verbinde dein Repository
- Build-Kommando:
hugo --minify - Output-Verzeichnis:
public - Environment Variable:
HUGO_VERSION = 0.147.5
Eigener Server
Build erstellen
hugo --minifyDateien hochladen
Lade den Inhalt des public/-Verzeichnisses auf deinen Server hoch.
Mit rsync
hugo --minify
rsync -avz --delete public/ user@server:/var/www/html/Docker
Dockerfile
FROM klakegg/hugo:ext-alpine AS build
WORKDIR /src
COPY . .
RUN hugo --minify
FROM nginx:alpine
COPY --from=build /src/public /usr/share/nginx/htmlBuild und Run
docker build -t meine-hugo-seite .
docker run -p 8080:80 meine-hugo-seiteTipps
- Teste den Build lokal mit
hugo --minifybevor du deployest - Nutze
--buildDraftsnicht in der Produktion - Aktiviere HTTPS auf deiner Deployment-Plattform
- Nutze ein CDN für bessere Performance