2.2 KiB
2.2 KiB
GitHub Actions — Deploy Workflow
Übersicht
Der Workflow deploy.yml läuft automatisch bei jedem Push auf main.
- Job 1
build: Installiert Dependencies und baut das Frontend — rein zum Kompilierungs-Check. - Job 2
deploy: Kopiert den Quellcode per SCP auf den Server und startet Docker neu. Erfordert manuellen Approval über das GitHub Environmentproduction.
1. SSH Key als Secret hinterlegen
SSH Key generieren (falls noch kein dedizierter Key vorhanden)
ssh-keygen -t ed25519 -C "github-actions-itnexus" -f ~/.ssh/github_actions_itnexus
Den Public Key auf dem Server hinterlegen:
cat ~/.ssh/github_actions_itnexus.pub | ssh root@192.168.0.194 "cat >> ~/.ssh/authorized_keys"
Secrets in GitHub eintragen
Gehe zu: Repository → Settings → Secrets and variables → Actions → New repository secret
| Secret Name | Wert |
|---|---|
SSH_PRIVATE_KEY |
Inhalt von ~/.ssh/github_actions_itnexus (Private Key, beginnt mit -----BEGIN OPENSSH PRIVATE KEY-----) |
SERVER_IP |
192.168.0.194 |
2. Production Environment mit Required Reviewer einrichten
Environment erstellen
- Gehe zu: Repository → Settings → Environments
- Klicke auf New environment
- Name:
production(exakt so, wie im Workflow hinterlegt) - Klicke auf Configure environment
Required Reviewers setzen
- Aktiviere Required reviewers
- Füge
Simon Grüssing(GitHub-Username) als Reviewer hinzu - Optional: Prevent self-review aktivieren wenn ein weiterer Reviewer vorhanden ist
- Speichern mit Save protection rules
3. Approval-Prozess
- Push auf
main→ Jobbuildstartet automatisch und läuft durch. - Nach erfolgreichem Build: Job
deploywartet auf Approval. - GitHub schickt eine E-Mail-Benachrichtigung an alle eingetragenen Reviewer.
- Reviewer klickt in der E-Mail oder direkt im GitHub Actions Tab auf den Workflow-Run.
- Unter "This workflow run is waiting for a required review" → Review deployments → Haken bei
productionsetzen → Approve and deploy. - Erst dann startet der Deployment-Job.
Tipp: Den Workflow-Status siehst du unter Repository → Actions.