kites/.forgejo/workflows/deploy.yaml

39 lines
1.2 KiB
YAML

name: Deploy to Nexus Vector
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: docker
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup SSH
uses: webfactory/ssh-agent@v0.8.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add Host Key
run: |
mkdir -p ~/.ssh
ssh-keyscan -p 2222 -H nexus-vector >> ~/.ssh/known_hosts
ssh-keyscan -p 2222 -H git.runfoo.run >> ~/.ssh/known_hosts
# Fallback for direct IP or alias if runner is local
echo "Host nexus-vector" >> ~/.ssh/config
echo " HostName nexus-vector" >> ~/.ssh/config
echo " Port 2222" >> ~/.ssh/config
echo " User admin" >> ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
- name: Deploy Monorepo via Rsync
run: |
rsync -avz -e "ssh -p 2222" --exclude '.git' --exclude 'node_modules' --exclude 'apps/web/node_modules' --exclude '.next' ./ admin@nexus-vector:/srv/containers/kites/
- name: Restart Kites Service
run: |
ssh -p 2222 admin@nexus-vector "cd /srv/containers/kites && docker compose up -d --build kites"