27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
# Automatisches Produktions-Deployment
|
|
|
|
Der Workflow `workflows/deploy-production.yml` aktualisiert bei jedem Push auf
|
|
`main` den Git-Checkout `~/stechuhr3` auf dem Produktionsserver und startet
|
|
dort `./deploy.sh update no-backup`. Dieses vorhandene Deploy-Skript kopiert
|
|
den aktualisierten Code nach `/var/www/timeclock`, baut das Frontend und lädt
|
|
den PM2-Prozess neu.
|
|
|
|
Einmalig im Gitea-Repository konfigurieren:
|
|
|
|
- Unter **Settings → Actions → Variables**:
|
|
- `TIMECLOCK_DEPLOY_HOST`: Hostname des Produktionsservers
|
|
- `TIMECLOCK_DEPLOY_USER`: Linux-Benutzer mit Zugriff auf den Checkout und PM2
|
|
- `TIMECLOCK_DEPLOY_SSH_KNOWN_HOSTS`: Ausgabe von
|
|
`ssh-keyscan -H <TIMECLOCK_DEPLOY_HOST>`
|
|
- Unter **Settings → Actions → Secrets**:
|
|
- `TIMECLOCK_DEPLOY_SSH_PRIVATE_KEY`: privater SSH-Schlüssel dieses
|
|
Deploy-Benutzers
|
|
|
|
Der öffentliche Teil des Deploy-Schlüssels muss auf dem Produktionsserver in
|
|
`~/.ssh/authorized_keys` des Deploy-Benutzers hinterlegt sein. Der Gitea
|
|
Actions-Runner benötigt außerdem Netzwerkzugang per SSH zum Server.
|
|
|
|
Vor dem ersten Push muss `~/stechuhr3` bereits der Checkout dieses Repositories
|
|
sein. Das Deploy-Skript benötigt die Rechte, nach `/var/www/timeclock` zu
|
|
kopieren und den PM2-Prozess neu zu laden.
|