Files
startover/.gitea/workflows/deploy.yml
T
Johngreen bd48cafcc9 ci: IDC 서버 자동배포 파이프라인 구축
- Dockerfile: Turborepo 멀티스테이지 빌드 (Next.js standalone)
- docker-compose.prod.yml: PostgreSQL/Redis/Nginx/Web/Admin 프로덕션 스택
- deploy/poll-deploy.sh: cron 기반 자동배포 (매분 Gitea 폴링)
- deploy/nginx/default.conf: 리버스 프록시 설정
- next.config.ts: output standalone 추가
- .env.production.example: 환경변수 템플릿

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:28:09 +09:00

43 lines
1.2 KiB
YAML

name: Deploy Re:Link
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create .env.production
run: |
cat > .env.production << 'ENVEOF'
DB_USER=${{ secrets.DB_USER }}
DB_PASSWORD=${{ secrets.DB_PASSWORD }}
DB_NAME=${{ secrets.DB_NAME }}
REDIS_PASSWORD=${{ secrets.REDIS_PASSWORD }}
NEXTAUTH_URL=${{ secrets.NEXTAUTH_URL }}
NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }}
ENVEOF
- name: Build and Deploy
run: |
docker compose -f docker-compose.prod.yml --env-file .env.production up -d --build --remove-orphans
- name: Run database migrations
run: |
docker compose -f docker-compose.prod.yml exec -T web sh -c "cd /app && npx prisma migrate deploy" || echo "Migration skipped (first deploy)"
- name: Health check
run: |
echo "Waiting for services to start..."
sleep 10
curl -f http://localhost/health || echo "Health check pending - services may still be starting"
- name: Cleanup old images
run: |
docker image prune -f