mirror of
https://github.com/renee-png/acmcc.git
synced 2026-06-21 01:40:01 +00:00
CI: auto-deploy to VPS on push to main
After the build check passes, SSH to the VPS with a forced-command key (can only run deploy.sh) which pulls main, builds, and rsyncs dist/ to public_html. Replaces the manual `ssh myvps ... deploy.sh` step. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -25,3 +25,24 @@ jobs:
|
|||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: bun run build
|
run: bun run build
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
# Auto-deploy to the VPS (avria.cloud) on every push to main.
|
||||||
|
# The SSH key is restricted on the server (forced command): it can only
|
||||||
|
# run /home/avria/deploy.sh, which pulls main, builds, and rsyncs
|
||||||
|
# dist/ -> public_html. The command string below is therefore ignored
|
||||||
|
# by the server but kept descriptive.
|
||||||
|
needs: build
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Deploy to VPS
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ssh
|
||||||
|
printf '%s\n' "$VPS_DEPLOY_KEY" > ~/.ssh/deploy_key
|
||||||
|
chmod 600 ~/.ssh/deploy_key
|
||||||
|
printf '%s\n' "$VPS_HOST_KEY" > ~/.ssh/known_hosts
|
||||||
|
ssh -i ~/.ssh/deploy_key -o IdentitiesOnly=yes avria@2.25.155.250 "deploy main"
|
||||||
|
env:
|
||||||
|
VPS_DEPLOY_KEY: ${{ secrets.VPS_DEPLOY_KEY }}
|
||||||
|
VPS_HOST_KEY: ${{ secrets.VPS_HOST_KEY }}
|
||||||
|
|||||||
Reference in New Issue
Block a user