Files
iten.pro/.gitea/workflows/deploy.yml
Eduard Iten 11a9227dd0
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 9s
Fixed dev deploy server
2026-03-31 10:47:44 +02:00

62 lines
2.0 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
- dev
jobs:
build-and-deploy:
runs-on: debian-latest
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 "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<<EOF" >> $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 "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<<EOF" >> $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
- name: SSH-Umgebung vorbereiten
run: |
mkdir -p ~/.ssh
echo "$DEPLOY_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
# Nutzt nun die dynamische Host-Variable
ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
- name: Deploy via rsync
run: |
# 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