# main 브랜치에 push 되면 배포 서버의 러너가 이미지를 빌드하고 컨테이너를 재기동합니다. # # 사전 준비 (배포 서버에서 1회): # 1. Gitea 관리자 설정에서 Actions 활성화 # 2. act_runner를 배포 서버에 설치하고, host 모드 라벨 "deploy"로 등록 # (config.yml 의 labels 에 "deploy:host" 추가 후 register) # 3. 저장소 Settings > Actions > Secrets 에 등록: # - ENV_FILE : 루트 .env 전체 내용 (DB 비밀번호, JWT 시크릿 등) # - FRONTEND_ENV_FILE : frontend/.env.production 전체 내용 (VITE_API_BASE_URL 등) name: Deploy on: push: branches: [main] jobs: deploy: runs-on: deploy steps: - name: Checkout uses: actions/checkout@v4 - name: Create env files from secrets run: | printf '%s\n' "${{ secrets.ENV_FILE }}" > .env printf '%s\n' "${{ secrets.FRONTEND_ENV_FILE }}" > frontend/.env.production - name: Build images run: docker compose build backend frontend - name: Restart containers run: docker compose up -d - name: Prune dangling images run: docker image prune -f