40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Write SSH key
|
|
run: |
|
|
echo "${{ secrets.DEPLOY_SSH_KEY }}" > /tmp/deploy_key
|
|
chmod 600 /tmp/deploy_key
|
|
|
|
- name: Sync files
|
|
run: |
|
|
rsync -avz --delete \
|
|
-e "ssh -i /tmp/deploy_key -o StrictHostKeyChecking=no -p ${{ secrets.DEPLOY_SSH_PORT || 22 }}" \
|
|
--exclude='.git' \
|
|
--exclude='.gitea' \
|
|
--exclude='deploy' \
|
|
./ ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:/srv/catalyst/
|
|
|
|
- name: Install dependencies and restart
|
|
run: |
|
|
ssh -i /tmp/deploy_key \
|
|
-o StrictHostKeyChecking=no \
|
|
-p ${{ secrets.DEPLOY_SSH_PORT || 22 }} \
|
|
${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} \
|
|
"cd /srv/catalyst && npm ci && pm2 restart catalyst || pm2 start npm --name catalyst -- start"
|
|
|
|
- name: Cleanup
|
|
if: always()
|
|
run: rm -f /tmp/deploy_key
|