happybell80 2d681632c1 fix: ssl 폴더 보존하면서 배포
- ssl 폴더를 제외하고 나머지 파일만 삭제
- 권한 문제 해결 위해 find 명령어 사용
- README.md 배포 플로우 설명 업데이트

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 16:28:23 +09:00

39 lines
1.2 KiB
YAML

name: Deploy to Ubuntu Server
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: Setup SSH key
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.NAS_SSH_KEY_ADMIN }}
- name: Deploy files via SCP
env:
HOST: ${{ secrets.NAS_HOST }}
PORT: ${{ secrets.NAS_PORT }}
USER: ${{ secrets.NAS_USER }}
run: |
ssh -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "mkdir -p ~/robeing-nginx && find ~/robeing-nginx -maxdepth 1 -not -name ssl -not -name '.' -exec rm -rf {} + || true"
tar --exclude='.git' -czf - . | ssh -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "cd ~/robeing-nginx && tar -xzf -"
- name: Start services via SSH
env:
HOST: ${{ secrets.NAS_HOST }}
PORT: ${{ secrets.NAS_PORT }}
USER: ${{ secrets.NAS_USER }}
run: |
ssh -o StrictHostKeyChecking=no -p $PORT $USER@$HOST << 'EOF'
cd ~/robeing-nginx
docker compose down || true
docker compose up -d
EOF