Initial commit

This commit is contained in:
2026-03-19 14:34:57 +00:00
commit 5ba0a10a4e

View File

@@ -0,0 +1,63 @@
name: Preview Deploy
on:
push:
branches: [ "main" ]
workflow_dispatch: {}
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build (optional)
shell: bash
run: |
set -e
DIST_DIR="."
if [ -f package.json ]; then
npm ci
npm run build
if [ -d dist ]; then DIST_DIR="dist"; fi
if [ -d build ]; then DIST_DIR="build"; fi
fi
echo "DIST_DIR=$DIST_DIR" >> $GITHUB_ENV
- name: Install rsync + ssh
shell: bash
run: |
apt-get update
apt-get install -y rsync openssh-client
- name: Configure SSH key
shell: bash
run: |
set -e
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -p "${{ secrets.DEPLOY_PORT }}" -H "${{ secrets.DEPLOY_HOST }}" >> ~/.ssh/known_hosts
- name: Deploy to preview folder
shell: bash
run: |
set -e
# Repo-Name robust bestimmen:
REPO_FULL="${GITHUB_REPOSITORY:-${GITEA_REPOSITORY:-}}"
REPO_NAME="${REPO_FULL##*/}"
if [ -z "$REPO_NAME" ]; then
echo "ERROR: Could not determine repository name"
exit 1
fi
TARGET="${{ secrets.PREVIEW_BASEDIR }}/${REPO_NAME}/"
echo "Deploying to: $TARGET"
ssh -p "${{ secrets.DEPLOY_PORT }}" "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" "mkdir -p '$TARGET'"
rsync -az --delete -e "ssh -p ${{ secrets.DEPLOY_PORT }}" "${DIST_DIR}/" "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${TARGET}"
echo "Preview URL: https://preview.foryumedia.de/${REPO_NAME}/"