test_deploy/.forgejo/workflows/deploy.yml
Gunnar Magholder c374133e91
All checks were successful
Build and Deploy / deploy (push) Successful in 12s
Fix: replace heredoc with echo for YAML compatibility
2026-03-05 16:55:46 +01:00

42 lines
1.2 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: docker
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H 194.163.164.113 >> ~/.ssh/known_hosts
- name: Deploy to server
env:
APP_NAME: ${{ vars.APP_NAME }}
DOMAIN: ${{ vars.DOMAIN }}
run: |
SERVER="root@194.163.164.113"
DEPLOY_PATH="/opt/apps/${APP_NAME}"
# Verzeichnis vorbereiten
ssh $SERVER "mkdir -p ${DEPLOY_PATH}"
# Alle Dateien kopieren
tar --exclude='.git' --exclude='.forgejo' -czf - . | ssh $SERVER "cd ${DEPLOY_PATH} && tar -xzf -"
# .env Datei für docker-compose erstellen
ssh $SERVER "echo 'APP_NAME=${APP_NAME}' > ${DEPLOY_PATH}/.env && echo 'DOMAIN=${DOMAIN}' >> ${DEPLOY_PATH}/.env"
# Anwendung deployen
ssh $SERVER "cd ${DEPLOY_PATH} && docker compose up -d --build --force-recreate"
echo "Deployed to https://${DOMAIN}"