Initial commit
This commit is contained in:
63
.gitea/workflows/preview.yml
Normal file
63
.gitea/workflows/preview.yml
Normal 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}/"
|
||||
Reference in New Issue
Block a user