ci: runner 인프라 정렬 + 자동 업데이트 feed 활성화 (프로젝트 1172)
- CI 태그를 실제 사내 runner에 맞게 교체: build-win-x64(TW-VIVEN-BUILD) / build-mac-arm64(TW-BUILD-MAC-ARM64) / build-linux-x64(TW-BUILD01, release+검증 잡) - package-macos: volta 부트스트랩 폴백 추가 - update-feed.ts + electron-builder.yml publish.url에 프로젝트 ID 1172 기입 - release-guide: 완료된 설정 반영 (D3RO_MAC_RUNNER, registry public pull)
This commit is contained in:
parent
3beba99668
commit
c6fd8c9a9a
4 changed files with 37 additions and 44 deletions
|
|
@ -6,9 +6,9 @@ agent-switchboard-client의 릴리스 체계를 이식한 멀티플랫폼 배포
|
|||
|
||||
```
|
||||
git tag vX.Y.Z → push
|
||||
├─ package-windows (runner: windows+shell) → NSIS exe + latest.yml
|
||||
├─ package-macos (runner: macos+arm64) → dmg + zip + latest-mac.yml [D3RO_MAC_RUNNER="true"일 때만]
|
||||
└─ release-create (runner: windows+shell)
|
||||
├─ package-windows (runner: build-win-x64, TW-VIVEN-BUILD) → NSIS exe + latest.yml
|
||||
├─ package-macos (runner: build-mac-arm64, TW-BUILD-MAC-ARM64) → dmg + zip + latest-mac.yml [D3RO_MAC_RUNNER="true"일 때만]
|
||||
└─ release-create (runner: build-linux-x64 Docker, TW-BUILD01)
|
||||
├─ Generic Package Registry 업로드
|
||||
│ ├─ d3ro-voice/<version>/ (버전별 보관)
|
||||
│ └─ d3ro-voice/latest/ (electron-updater feed — 매 릴리스 갱신)
|
||||
|
|
@ -29,43 +29,29 @@ git push origin v0.2.0
|
|||
|
||||
## 사용자가 1회 설정해야 하는 것
|
||||
|
||||
### 1. macOS runner 등록 (Mac 빌드 활성화)
|
||||
### 1. macOS runner (2026-07-21 기준 완료됨)
|
||||
|
||||
MacBook에서:
|
||||
사내 공용 runner `TW-BUILD-MAC-ARM64`(tags: `build-mac-arm64`)가 온라인이며,
|
||||
CI 변수 `D3RO_MAC_RUNNER="true"`도 설정 완료. 별도 등록 불필요.
|
||||
|
||||
```bash
|
||||
brew install gitlab-runner
|
||||
gitlab-runner register \
|
||||
--url https://gitlab.twentyoz.kr:8443 \
|
||||
--executor shell \
|
||||
--tag-list "macos,arm64"
|
||||
# 등록 토큰: GitLab → d3r0/voice → Settings → CI/CD → Runners
|
||||
brew services start gitlab-runner
|
||||
```
|
||||
|
||||
Mac 환경 전제조건:
|
||||
- Xcode Command Line Tools (`xcode-select --install`)
|
||||
- Node 22+ (시스템 PATH)
|
||||
- Python 3.11+ (`python3`)
|
||||
Mac runner 환경 전제조건 (미충족 시 package-macos 잡 실패 — allow_failure라 릴리스는 진행):
|
||||
- Xcode Command Line Tools, Node 22+(또는 volta), Python 3.11+
|
||||
- `brew install sox` — install-sox.sh가 이 바이너리를 번들함
|
||||
|
||||
등록 후 **GitLab → Settings → CI/CD → Variables**에 `D3RO_MAC_RUNNER` = `"true"` 추가.
|
||||
(이 변수가 없으면 package-macos 잡이 생성되지 않아 릴리스가 Windows 단독으로 진행)
|
||||
### 2. 자동 업데이트 활성화 (Windows) — 2026-07-21 기준 완료됨
|
||||
|
||||
### 2. 자동 업데이트 활성화 (Windows)
|
||||
|
||||
1. GitLab → d3r0/voice → 프로젝트 홈에서 **Project ID** 확인
|
||||
1. 프로젝트 ID = **1172** (기입 완료)
|
||||
2. **두 곳**에 같은 feed URL 기입 (어긋나면 안 됨):
|
||||
- `apps/desktop/src/main/update-feed.ts`의 `UPDATE_FEED_URL`
|
||||
- `apps/desktop/electron-builder.yml`의 `publish.url` (`projects/0` → 실제 ID)
|
||||
- `apps/desktop/src/main/update-feed.ts`의 `UPDATE_FEED_URL` ✅
|
||||
- `apps/desktop/electron-builder.yml`의 `publish.url` ✅
|
||||
```
|
||||
https://gitlab.twentyoz.kr:8443/api/v4/projects/<PROJECT_ID>/packages/generic/d3ro-voice/latest
|
||||
https://gitlab.twentyoz.kr:8443/api/v4/projects/1172/packages/generic/d3ro-voice/latest
|
||||
```
|
||||
`publish` 섹션은 latest.yml/latest-mac.yml **생성**을 트리거하는 필수 설정이다
|
||||
(없으면 electron-builder가 update info 파일을 아예 만들지 않음).
|
||||
3. GitLab → Settings → General → Visibility에서 **"Allow anyone to pull from Package Registry"** 활성화
|
||||
(미설정 시 앱의 무인증 다운로드가 401 — UpdateService는 조용히 건너뜀)
|
||||
4. 다음 태그부터 배포된 앱이 4시간 주기로 업데이트를 체크한다
|
||||
3. `package_registry_access_level=public` 설정 완료 ✅ (2026-07-21, API로 적용) —
|
||||
앱의 무인증 다운로드/랜딩 페이지 다운로드 링크의 전제. 비공개로 되돌리면 자동 업데이트가 401로 조용히 중단됨.
|
||||
4. v0.1.1-alpha부터 배포된 앱이 4시간 주기로 업데이트를 체크한다
|
||||
|
||||
### 산출물 파일명 규칙
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue