CI/CD
Im Hauptrepository liegen zwei GitHub-Actions-Workflows:
.github/workflows/docker-images.ymlbaut Frontend- und Backend-Images und pusht sie nach GHCR..github/workflows/deploy.ymldeployed per SSH mitpullplusup -d.
Aktueller Stand im Hauptprojekt
- Beide Workflows sind aktuell nur manuell über
workflow_dispatchstartbar. - Die Auto-Trigger auf Push nach
mainund der automatische Dev-Deploy sind vorerst deaktiviert. stageundprodwerden manuell überworkflow_dispatchausgelöst und bekommen einen konkreten Image-Tag aus einemmain-Build.- Die Images werden als
ghcr.io/<owner>/skin_to_go-frontendundghcr.io/<owner>/skin_to_go-backendpubliziert.
Deployment-Flow
Typischer Flow:
- Direkter Dev-Deploy lokal über
./scripts/local/deploy-dev-direct.sh - Registry-basierte Builds erzeugen Images mit Tags wie
latestundsha-abc1234 - Für
stageoderprodwird derDeploy-Workflow manuell in GitHub gestartet - Dabei Ziel-Environment wählen und gewünschten
image_tageintragen, zum Beispielsha-abc1234
Manueller Stage-/Prod-Deploy in GitHub:
- Repository in GitHub öffnen.
Actions->Deploy.Run workflow.stageoderprodalsenvironmentwählen.- Passenden
image_tagaus einem erfolgreichenmain-Build eintragen.
GitHub-Environment-Secrets
Für den Deploy-Workflow sollten die GitHub Environments dev, stage und prod jeweils diese Secrets enthalten:
SSH_HOSTSSH_USERSSH_PRIVATE_KEYSSH_PORTDEPLOY_PATH
Zusätzlich braucht der Deploy-User auf dem Server:
- einen SSH-User mit Zugriff auf den Zielpfad wie
/opt/skintogo/dev - den öffentlichen Schlüssel des zugehörigen Private Keys in
~/.ssh/authorized_keys
Docs-CI
Dieses Docusaurus-Repo enthält:
build.ymlfür Pull-Request- und manuelle Build-Prüfungdeploy-cloudflare-pages.ymlfür Deployment auf Cloudflare Pages
Der Docs-Deploy-Workflow läuft automatisch bei jedem Push auf main im Docs-Repository und kann zusätzlich manuell per workflow_dispatch gestartet werden.
Der automatische Docs-Deploy:
- installiert Dependencies mit
npm ci - baut Docusaurus mit
npm run build - veröffentlicht das Verzeichnis
buildübercloudflare/pages-action@v1 - aktualisiert damit
docs.skintogo.de
Für den Deploy müssen im Docs-Repository die GitHub Actions Secrets CLOUDFLARE_API_TOKEN und CLOUDFLARE_ACCOUNT_ID gepflegt sein.
Details stehen unter Docs-Deployment.