test_deploy/.forgejo/workflows/deploy.yml
Workflow config file is invalid. Please check your config file: yaml: line 38: could not find expected ':'
2026-03-05 16:25:22 +01:00

45 lines
1.1 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 "cat > ${DEPLOY_PATH}/.env << EOF
APP_NAME=${APP_NAME}
DOMAIN=${DOMAIN}
EOF"
# Anwendung deployen
ssh $SERVER "cd ${DEPLOY_PATH} && docker compose up -d --build --force-recreate"
echo "Deployed to https://${DOMAIN}"