65 lines
1.9 KiB
Markdown
65 lines
1.9 KiB
Markdown
---
|
|
title: Gitea 서버 및 CI/CD
|
|
updated: 2026-03-17
|
|
---
|
|
|
|
## 서버
|
|
|
|
K3s 클러스터에서 Helm 차트(gitea/gitea 12.5.0)로 운영. 네임스페이스: `gitea`.
|
|
|
|
- Gitea 1.25.4 + PostgreSQL 16 + Valkey
|
|
- 도메인: gitea.anvil.it.com
|
|
- 트래픽: BunnyCDN(actions) → APISIX 서울 → K3s Traefik → gitea svc:3000
|
|
- SSH 비활성화, HTTPS only
|
|
- 스토리지: Longhorn PVC 5Gi (data + PostgreSQL 각각)
|
|
- 시크릿: Vault `secret/apps/gitea`
|
|
- Deployment strategy: Recreate (RWO PVC 충돌 방지)
|
|
- 메일: Mailgun SMTP (`gitea@anvil.it.com`, 도메인 `anvil.it.com`)
|
|
|
|
### Helm 관리
|
|
|
|
```bash
|
|
# values 파일
|
|
~/k8s/gitea/values.yaml
|
|
|
|
# 업그레이드
|
|
helm upgrade gitea gitea-charts/gitea -n gitea -f ~/k8s/gitea/values.yaml
|
|
```
|
|
|
|
### 이전 (Synology)
|
|
|
|
2026-03-15 Synology NAS(192.168.9.100, SQLite)에서 K3s(PostgreSQL)로 이전 완료. Synology 패키지 중지됨 (데이터 보존 중).
|
|
|
|
## 이미지 레지스트리
|
|
|
|
모든 gitea 이미지는 gitea.anvil.it.com/kaffa/ 경로
|
|
|
|
## Act Runner
|
|
|
|
Gitea Act Runner는 [[infra-hosts|incus-jp1]]의 gitea-runner 컨테이너에서 실행 (act_runner daemon, systemd 서비스).
|
|
|
|
## CI/CD 배포
|
|
|
|
On push to main branch, uses appleboy/ssh-action to SSH into incus-kr1 and execute 'git pull && docker compose up -d --build'
|
|
|
|
## 백업
|
|
|
|
K8s CronJob `gitea-backup` (매일 03:00 UTC):
|
|
- `gitea dump` → `/backup/gitea-dump-*.tar.gz`
|
|
- 7일 보존, Longhorn PVC 10Gi
|
|
- 매니페스트: `~/k8s/gitea/backup-cronjob.yaml`
|
|
|
|
## 트러블슈팅
|
|
|
|
### 웹 로그인 안 될 때 비밀번호 리셋
|
|
|
|
```bash
|
|
curl -s -X PATCH "https://gitea.anvil.it.com/api/v1/admin/users/kaffa" \
|
|
-H "Authorization: token <API_TOKEN>" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"password":"<PASSWORD>","must_change_password":false,"login_name":"kaffa","source_id":0}'
|
|
```
|
|
|
|
- API 토큰, 비밀번호: Vault `secret/apps/gitea`
|
|
- 2026-03-17 웹 로그인 불가 → API로 비밀번호 리셋하여 해결
|