Files
egbim_homepage/DEPLOY_GITEA.md
T
2026-07-23 16:15:57 +09:00

2.9 KiB

Gitea 수동 배포

기준 정보

  • Gitea 웹: https://gitea.hmac.kr/b24014/egbim_homepage
  • 앱 배포 대상: 172.16.10.175:8071
  • Git 원격: https://gitea.hmac.kr/b24014/egbim_homepage.git
  • 실행 방식: git push 후 Gitea Actions 에서 수동 실행

1. 로컬 저장소 초기화

cd /home/b24014/egbim
git branch -m main
git remote remove origin 2>/dev/null || true
git remote add origin https://gitea.hmac.kr/b24014/egbim_homepage.git

현재 원격 확인:

git remote -v

예상 결과:

origin  https://gitea.hmac.kr/b24014/egbim_homepage.git (fetch)
origin  https://gitea.hmac.kr/b24014/egbim_homepage.git (push)

2. 첫 푸시

cd /home/b24014/egbim
git add .
git commit -m "Initial import"
git push -u origin main

HTTPS 인증이 필요하면 Gitea 사용자 계정과 토큰 또는 비밀번호를 사용한다.

3. Gitea Actions 수동 배포

저장소에 추가된 워크플로 이름은 Manual Deploy 이다.

Gitea 저장소 화면에서 아래 순서로 실행한다.

  1. Actions 로 이동
  2. Manual Deploy 선택
  3. Run workflow 클릭
  4. branchtarget_dir 확인 후 실행

워크플로는 서버에 SSH 접속해서 지정 디렉터리에 소스를 동기화하고 docker compose up -d --build 를 수행한다.

4. Gitea Secrets

수동 배포 전에 아래 시크릿을 Gitea 저장소에 등록해야 한다.

  • DEPLOY_HOST: 예) 172.16.10.175
  • DEPLOY_PORT: 예) 22
  • DEPLOY_USER: 서버 SSH 계정
  • DEPLOY_SSH_KEY: 배포용 개인키 전체 내용

필요하면 아래도 변수로 바꿀 수 있다.

  • target_dir: 서버 배포 경로, 기본값 /srv/egbim_homepage
  • 서버 .env 안의 APP_PORT=8071

5. 서버 준비 조건

  • 서버에 git, docker, docker compose 가 설치되어 있어야 한다.
  • 배포 경로에 쓰기 권한이 있어야 한다.
  • 서비스 포트 8071 이 외부에서 접근 가능해야 한다.
  • 서버 배포 경로의 .env 파일에 운영값이 들어 있어야 한다.
  • egbim/img 는 CDN 대체 대상이므로 Git 배포 대상에서 제외된다.

운영 .env 예시:

APP_ENV=production
APP_PORT=8071
DB_PORT=3307
G5_MYSQL_DB=egbim
G5_MYSQL_USER=egbim
G5_MYSQL_PASSWORD=<set-on-server>
MARIADB_ROOT_PASSWORD=<set-on-server>
COMPOSE_PROJECT_NAME=egbim

6. 이후 배포 반영

일반 작업:

cd /home/b24014/egbim
git add .
git commit -m "<change summary>"
git push origin main

그 다음 Gitea 에서 Manual Deploy 만 다시 실행하면 된다.

7. 관리자 확인 필요 항목

  • 저장소 b24014/egbim_homepage 가 이미 생성되어 있는지
  • main 브랜치 push 권한이 있는지
  • Gitea Actions 가 활성화되어 있는지
  • 서버에 배포용 SSH 키가 허용되어 있는지

8. 빠른 점검 명령

원격 정보 확인:

git remote show origin

로컬 compose 확인:

docker compose config