Files
iten.pro/.gitea/workflows/deploy.yml
Eduard Iten 7aa0d99db1
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Added gitea action
2026-03-31 10:36:15 +02:00

60 lines
2.0 KiB
YAML

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<<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 "TARGET_PATH=/var/www/pages/" >> $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
# 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