From c48c833b65a6ae94c3c006d83f53fc1f0f256e00 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 15 Jun 2026 16:38:01 +0200 Subject: [PATCH] deploy fix --- .gitea/workflows/deploy.yml | 21 +++++++++++++++++++++ README-DEPLOYMENT.md | 4 ++-- README-PRODUCTION.md | 4 ++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index d8f4d5f..45d086b 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -15,6 +15,9 @@ jobs: SSH_USER: ${{ vars.SSH_USER }} steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Show resolved non-secret config run: | echo "SSH_HOST=$SSH_HOST" @@ -44,6 +47,24 @@ jobs: "$SSH_USER@$SSH_HOST" \ "echo SSH OK" + - name: Install deployment script + run: | + set -e + scp -i ~/.ssh/id_deploy \ + -o StrictHostKeyChecking=no \ + -o BatchMode=yes \ + -o ConnectTimeout=10 \ + -P "$SSH_PORT" \ + scripts/actualize-singlechat.sh \ + "$SSH_USER@$SSH_HOST:/tmp/actualize-singlechat.sh" + ssh -i ~/.ssh/id_deploy \ + -o StrictHostKeyChecking=no \ + -o BatchMode=yes \ + -o ConnectTimeout=10 \ + -p "$SSH_PORT" \ + "$SSH_USER@$SSH_HOST" \ + "sudo install -m 755 /tmp/actualize-singlechat.sh /usr/local/bin/actualize-singlechat.sh" + - name: Run deployment script run: | set -e diff --git a/README-DEPLOYMENT.md b/README-DEPLOYMENT.md index 27178b6..0bb5658 100644 --- a/README-DEPLOYMENT.md +++ b/README-DEPLOYMENT.md @@ -55,14 +55,14 @@ sudo journalctl -u ypchat -f ## Auto-Rollout mit Gitea -Der Workflow `.gitea/workflows/deploy.yml` startet bei Push auf `main` per SSH das Server-Skript `/usr/local/bin/actualize-singlechat.sh`. +Der Workflow `.gitea/workflows/deploy.yml` startet bei Push auf `main` per SSH das Server-Skript `/usr/local/bin/actualize-singlechat.sh`. Das Skript wird vom Workflow vor dem Start nach `/usr/local/bin` installiert. Gitea-Konfiguration: - Variables: `SSH_HOST`, `SSH_PORT`, `SSH_USER` - Secret: `PROD_SSH_KEY_B64` mit dem base64-kodierten privaten Deploy-Key -Server-Skript installieren: +Server-Skript manuell testen: ```bash sudo install -m 755 scripts/actualize-singlechat.sh /usr/local/bin/actualize-singlechat.sh diff --git a/README-PRODUCTION.md b/README-PRODUCTION.md index ae82675..f8e1178 100644 --- a/README-PRODUCTION.md +++ b/README-PRODUCTION.md @@ -101,7 +101,7 @@ sudo systemctl stop singlechat ### Automatisch per Gitea Actions -Der Workflow `.gitea/workflows/deploy.yml` deployt bei jedem Push auf `main` per SSH auf den Produktionsserver und startet dort das Rollout-Skript. +Der Workflow `.gitea/workflows/deploy.yml` deployt bei jedem Push auf `main` per SSH auf den Produktionsserver, installiert dort das aktuelle Rollout-Skript und startet es. In Gitea müssen dafür gesetzt sein: @@ -112,7 +112,7 @@ In Gitea müssen dafür gesetzt sein: - Repository Secret: - `PROD_SSH_KEY_B64`: privater SSH-Key base64-kodiert -Auf dem Produktionsserver das Rollout-Skript installieren: +Das Rollout-Skript kann bei Bedarf auch manuell installiert und getestet werden: ```bash sudo install -m 755 scripts/actualize-singlechat.sh /usr/local/bin/actualize-singlechat.sh