From 7aa0d99db150ba910682e6825f22f83c46843fcd Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Tue, 31 Mar 2026 10:36:15 +0200 Subject: [PATCH 1/4] Added gitea action --- .gitea/workflows/deploy.yml | 60 +++++++++++++++++++++++++++++++++++++ astro.config.mjs | 2 ++ 2 files changed, 62 insertions(+) create mode 100644 .gitea/workflows/deploy.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..cf7e029 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,60 @@ +name: Build and Deploy + +on: + push: + branches: + - main + - dev + +jobs: + build-and-deploy: + runs-on: debian-lxc + + steps: + - name: Repository auschecken + uses: actions/checkout@v4 + + - name: Abhängigkeiten installieren + run: npm ci + + # --- BRANCH-SPEZIFISCHE VARIABLEN SETZEN --- + + - name: Konfiguration für Produktiv (main) + if: github.ref == 'refs/heads/main' + run: | + echo "ASTRO_SITE_URL=https://iten.pro" >> $GITHUB_ENV + echo "ASTRO_BASE_PATH=/" >> $GITHUB_ENV + echo "TARGET_PATH=~/htdocs/" >> $GITHUB_ENV + echo "DEPLOY_USER=${{ secrets.PROD_SSH_USERNAME }}" >> $GITHUB_ENV + echo "DEPLOY_KEY<> $GITHUB_ENV + echo "${{ secrets.PROD_SSH_PRIVATE_KEY }}" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + + - name: Konfiguration für Test (dev) + if: github.ref == 'refs/heads/dev' + run: | + echo "ASTRO_SITE_URL=https://home.iten.pro" >> $GITHUB_ENV + echo "ASTRO_BASE_PATH=/test" >> $GITHUB_ENV + echo "TARGET_PATH=/var/www/pages/" >> $GITHUB_ENV + echo "DEPLOY_USER=${{ secrets.DEV_SSH_USERNAME }}" >> $GITHUB_ENV + echo "DEPLOY_KEY<> $GITHUB_ENV + echo "${{ secrets.DEV_SSH_PRIVATE_KEY }}" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + + # --- BUILD UND DEPLOYMENT --- + + - name: Astro Build ausführen + run: npm run build + # Der Build-Prozess nutzt nun automatisch die oben gesetzten ASTRO_* Variablen + + - name: SSH-Umgebung vorbereiten + run: | + mkdir -p ~/.ssh + echo "$DEPLOY_KEY" > ~/.ssh/deploy_key + chmod 600 ~/.ssh/deploy_key + ssh-keyscan -p 22 ssh.netzone.ch >> ~/.ssh/known_hosts + + - name: Deploy via rsync + run: | + # Nutzt die dynamischen Variablen für User und Zielpfad + rsync -avz --delete -e "ssh -p 22 -i ~/.ssh/deploy_key" dist/ $DEPLOY_USER@ssh.netzone.ch:$TARGET_PATH \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index 508cbec..1695f14 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -5,6 +5,8 @@ import tailwindcss from '@tailwindcss/vite'; // https://astro.build/config export default defineConfig({ + site: process.env.ASTRO_SITE_URL || 'http://localhost:4321', + base: process.env.ASTRO_BASE_PATH || '/', vite: { plugins: [tailwindcss()] } From 51c58bdf2887acbf8277a412371a4b0de1272c89 Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Tue, 31 Mar 2026 10:40:41 +0200 Subject: [PATCH 2/4] Changed runs-on --- .gitea/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index cf7e029..2c2cfd4 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -8,7 +8,7 @@ on: jobs: build-and-deploy: - runs-on: debian-lxc + runs-on: debian-latest steps: - name: Repository auschecken From 5e1428f81255da101593e81f3465cd10b36d1afe Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Tue, 31 Mar 2026 10:45:35 +0200 Subject: [PATCH 3/4] Changed dev deploy path --- .gitea/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 2c2cfd4..37853b3 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -35,7 +35,7 @@ jobs: run: | echo "ASTRO_SITE_URL=https://home.iten.pro" >> $GITHUB_ENV echo "ASTRO_BASE_PATH=/test" >> $GITHUB_ENV - echo "TARGET_PATH=/var/www/pages/" >> $GITHUB_ENV + echo "TARGET_PATH=/var/www/pages/test" >> $GITHUB_ENV echo "DEPLOY_USER=${{ secrets.DEV_SSH_USERNAME }}" >> $GITHUB_ENV echo "DEPLOY_KEY<> $GITHUB_ENV echo "${{ secrets.DEV_SSH_PRIVATE_KEY }}" >> $GITHUB_ENV From 11a9227dd079d3e32d5ea745ea3943eebf343064 Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Tue, 31 Mar 2026 10:47:44 +0200 Subject: [PATCH 4/4] Fixed dev deploy server --- .gitea/workflows/deploy.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 37853b3..9444868 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -24,6 +24,7 @@ jobs: run: | echo "ASTRO_SITE_URL=https://iten.pro" >> $GITHUB_ENV echo "ASTRO_BASE_PATH=/" >> $GITHUB_ENV + echo "DEPLOY_HOST=ssh.netzone.ch" >> $GITHUB_ENV echo "TARGET_PATH=~/htdocs/" >> $GITHUB_ENV echo "DEPLOY_USER=${{ secrets.PROD_SSH_USERNAME }}" >> $GITHUB_ENV echo "DEPLOY_KEY<> $GITHUB_ENV @@ -35,6 +36,7 @@ jobs: run: | echo "ASTRO_SITE_URL=https://home.iten.pro" >> $GITHUB_ENV echo "ASTRO_BASE_PATH=/test" >> $GITHUB_ENV + echo "DEPLOY_HOST=10.0.10.107" >> $GITHUB_ENV echo "TARGET_PATH=/var/www/pages/test" >> $GITHUB_ENV echo "DEPLOY_USER=${{ secrets.DEV_SSH_USERNAME }}" >> $GITHUB_ENV echo "DEPLOY_KEY<> $GITHUB_ENV @@ -45,16 +47,16 @@ jobs: - name: Astro Build ausführen run: npm run build - # Der Build-Prozess nutzt nun automatisch die oben gesetzten ASTRO_* Variablen - name: SSH-Umgebung vorbereiten run: | mkdir -p ~/.ssh echo "$DEPLOY_KEY" > ~/.ssh/deploy_key chmod 600 ~/.ssh/deploy_key - ssh-keyscan -p 22 ssh.netzone.ch >> ~/.ssh/known_hosts + # Nutzt nun die dynamische Host-Variable + ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts - name: Deploy via rsync run: | - # Nutzt die dynamischen Variablen für User und Zielpfad - rsync -avz --delete -e "ssh -p 22 -i ~/.ssh/deploy_key" dist/ $DEPLOY_USER@ssh.netzone.ch:$TARGET_PATH \ No newline at end of file + # Nutzt DEPLOY_USER, DEPLOY_HOST und TARGET_PATH + rsync -avz --delete -e "ssh -p 22 -i ~/.ssh/deploy_key" dist/ $DEPLOY_USER@$DEPLOY_HOST:$TARGET_PATH \ No newline at end of file