docs: Gitea push 런북 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-25 11:03:37 +09:00
parent 4307e1ddb8
commit 7d986a5e6b

36
PUSH.md Normal file
View File

@ -0,0 +1,36 @@
# Gitea Push 런북 (yakcloud-packages)
> 이 저장소는 로컬에서 `git init` + 초기 커밋만 된 상태다. 실제 push 는 Gitea 저장소 생성 + 자격이 필요해 **수동/승인 단계**로 남긴다.
## 1) Gitea 저장소 생성 (1회)
Gitea UI 또는 API 로 `yakcloud/yakcloud-packages` 저장소를 만든다(빈 저장소, README 없이).
```bash
# API 예시 (Gitea PAT 필요)
curl -X POST "https://gitea.yakenator.io/api/v1/orgs/yakcloud/repos" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"yakcloud-packages","private":false,"default_branch":"main"}'
```
## 2) Push
```bash
cd ~/Desktop/yakcloud-packages
# remote 는 이미 origin=https://gitea.yakenator.io/yakcloud/yakcloud-packages.git 로 설정됨
git push -u origin main # 자격증명 프롬프트: 사용자 / Gitea PAT
```
## 3) 패키지 발행 (npm registry = Gitea)
`.npmrc``@yakcloud:registry=https://gitea.yakenator.io/api/packages/yakcloud/npm/` 로 설정됨.
발행 인증(publish 시):
```bash
npm config set -- '//gitea.yakenator.io/api/packages/yakcloud/npm/:_authToken' "$GITEA_TOKEN"
pnpm -r publish --no-git-checks # 추출(B3+) 후 dist 빌드가 있을 때
```
## 4) CI (Gitea Actions)
`.gitea/workflows/ci.yml` — Gitea Actions Runner 가 조직/저장소에 등록돼 있어야 동작.
`bind-env-drift` 잡은 private-cluster `infra/api/yakcloud_api.py` 를 sparse-checkout 하는 읽기전용 토큰(secret)이 필요(TODO).
## 참고
- 로고 바이너리는 저장소에 없음(상표 미번들). air-gap/배포 시 `logoBase` 로 주입 — `docs/LOGO_ATTRIBUTION.md`.
- 현재는 B1 스켈레톤. 실제 추출(B3~)·MinIO(Phase 1)·백업(M5)은 후속.