- README.md 먼저 업데이트 (룰 준수) - Docker 컨테이너는 8080 포트에서 HTTP만 처리 - SSL/HTTPS는 서버 자체에서 처리 - certbot 관련 복잡한 설정 모두 제거 - 권한 문제 해결 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.1 KiB
YAML
39 lines
1.1 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 "rm -rf ~/robeing-nginx && mkdir -p ~/robeing-nginx"
|
|
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 |