GitHub

Auto Deploy

GitHub Push 시 자동으로 봇을 재배포하는 Auto Deploy 설정 가이드입니다.

저장소에 새 코드를 Push할 때마다 DisHost가 변경 사항을 감지해 봇을 자동으로 재배포합니다. git push 한 번으로 서버 배포까지 완료할 수 있습니다.


설정 방법

  1. GitHub 연동 및 App 설치를 완료합니다.
  2. 봇 생성 또는 봇 설정에서 "Push 시 자동 재배포" 옵션을 활성화합니다.
  3. 지정한 브랜치로 코드를 Push하면 자동 배포가 시작됩니다.
    git push origin main

내부 동작 흐름

git push origin main
  ↓
GitHub → DisHost Webhook 수신
  ↓
연결된 봇 식별 → Deploy Queue 등록
  ↓
Pterodactyl 컨테이너 업데이트
  ↓
git fetch → 최신 코드 동기화
  ↓
의존성 확인(npm install 또는 pip) → 봇 재시작

배포 큐 및 최적화 규칙

단기간에 여러 번의 Push가 발생할 경우 리소스를 아끼고 안정적인 배포를 유지하기 위해 다음 규칙이 적용됩니다.

  • 30초 쿨다운: 배포가 시작된 후 30초 이내에 추가로 들어온 Push는 즉시 실행되지 않고 대기합니다.
  • 커밋 병합(Coalescing): 이전 배포가 진행 중일 때 여러 커밋이 연달아 Push되면, 현재 배포가 끝난 뒤 가장 최신 커밋을 기준으로 1회만 재배포합니다.

배포 이력 확인

대시보드의 봇 상세 -> 배포 탭에서 역대 모든 배포 기록을 확인할 수 있습니다.

  • 커밋 해시(SHA) 및 커밋 메시지
  • 배포 대상 브랜치
  • 배포 상태(성공, 실패) 및 소요 시간

기능 끄기

자동 배포를 멈추고 수동으로만 배포하고 싶다면, 대시보드 봇 설정에서 Auto Deploy 토글을 끄면 됩니다.