Files
md-blog/.github/workflows/deploy.yml
T
2026-04-26 12:07:52 +02:00

43 lines
1.5 KiB
YAML

name: Deploy
on:
schedule:
- cron: "*/30 * * * *"
push:
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun install
- name: Setup SSH Key
uses: webfactory/ssh-agent@v0.9.1
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- run: git clone ${{ vars.ARTICLES_REPOSITORY }} articles
- run: bun run build
env:
VITE_BASE_URL: ${{ vars.VITE_BASE_URL }}
VITE_APP_TITLE: ${{ vars.VITE_APP_TITLE }}
VITE_APP_SIGNATURE: ${{ vars.VITE_APP_SIGNATURE }}
VITE_APP_LANG: ${{ vars.VITE_APP_LANG }}
VITE_CUSTOM_HEAD: ${{ vars.VITE_CUSTOM_HEAD }}
- uses: actions/upload-artifact@v7
with:
name: production-files
path: ./dist
deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v8
with:
name: production-files
path: ./dist
- run: tar -czC dist -f dist.tar.gz .
- run: |
curl -v -X PUT -H 'X-Token: ${{ secrets.STAPLER_TOKEN }}' -H 'X-Host-Only: ${{ vars.TARGET_HOST }}' -H 'X-SPA: index.html' --data-binary "@dist.tar.gz" ${{ vars.STAPLER_TARGET }}