최초 커밋
This commit is contained in:
+123
@@ -0,0 +1,123 @@
|
||||
# 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. 로컬 저장소 초기화
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
현재 원격 확인:
|
||||
|
||||
```bash
|
||||
git remote -v
|
||||
```
|
||||
|
||||
예상 결과:
|
||||
|
||||
```text
|
||||
origin https://gitea.hmac.kr/b24014/egbim_homepage.git (fetch)
|
||||
origin https://gitea.hmac.kr/b24014/egbim_homepage.git (push)
|
||||
```
|
||||
|
||||
## 2. 첫 푸시
|
||||
|
||||
```bash
|
||||
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. `branch` 와 `target_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` 예시:
|
||||
|
||||
```text
|
||||
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. 이후 배포 반영
|
||||
|
||||
일반 작업:
|
||||
|
||||
```bash
|
||||
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. 빠른 점검 명령
|
||||
|
||||
원격 정보 확인:
|
||||
|
||||
```bash
|
||||
git remote show origin
|
||||
```
|
||||
|
||||
로컬 compose 확인:
|
||||
|
||||
```bash
|
||||
docker compose config
|
||||
```
|
||||
Reference in New Issue
Block a user