Files
Lars Nolden 41f6366e33
Deploy Static Site / deploy (push) Successful in 10m44s
update deploy script
2026-06-23 22:10:07 +02:00

49 lines
1.4 KiB
YAML

name: Deploy Static Site
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Build static site
run: npm run build
- name: Setup SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
- name: Deploy static files to server
env:
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
REMOTE_DIR: /home/deploy/projects/ge-bos/static
run: |
SSH="ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=accept-new"
# Recreate the target dir so removed files don't linger (rsync --delete equivalent)
$SSH deploy@"$DEPLOY_HOST" "rm -rf '$REMOTE_DIR' && mkdir -p '$REMOTE_DIR'"
# Stream the build output over ssh and extract it on the server
tar -czf - -C out . | $SSH deploy@"$DEPLOY_HOST" "tar -xzf - -C '$REMOTE_DIR'"
- name: Run deployment script
run: |
ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=accept-new \
deploy@${{ secrets.DEPLOY_HOST }} \
"cd /home/deploy/projects/ge-bos && ./deploy.sh"