2026 소규모 팀 공유 원격 Mac 실전: Git Worktree 병렬 빌드·락파일 충돌 회피 결정 매트릭스
공유 원격 Mac에서 병렬 빌드와 락 파일·충돌을 동시에 다룹니다. 협업·리소스 풀·안정성을 기준으로 Git worktree 비교표, CocoaPods·npm 전략, 동시 상한·큐, 롤백 FAQ, 결정 매트릭스를 압축합니다.
공유 빌드기에서 자주 터지는 지점
- 숨은 결합: 두 잡이 동일 Pods·전역 npm 캐시에 쓰며 resolve 레이스가 납니다.
- 브랜치 엇갈림: 리베이스 중인데 호스트에 오래된 Podfile.lock·package-lock.json이 더러운 트리로 남습니다.
- 디스크·시뮬레이터: Xcode 병렬 빌드가 SSD·부팅된 시뮬레이터를 포화시키면 안정성이 무너집니다.
① 대상 독자와 핵심 키워드
대상: iOS·macOS·크로스 CI용 공유 빌드기를 쓰는 3~12명 규모 팀. SSH와 자동 잡이 섞이며 협업·리소스 풀·안정성을 함께 봅니다.
핵심 키워드: 원격 Mac, Git worktree, 병렬 빌드, 락 파일, 충돌, CocoaPods, npm, 큐, 롤백.
② Git worktree와 단일 저장소 다중 작업 공간 비교
Git worktree는 객체 DB를 공유해 디스크를 줄이고 브랜치별 트리를 나눕니다. 다중 풀 클론과 비교하세요.
| 차원 | Git worktree | 다중 풀 클론 |
|---|---|---|
| Git 객체 디스크 | .git 공유·중복 낮음 | 클론마다 객체 저장소·이해는 쉬움 |
| 병렬 안전 | 트리별 빌드·의존성 분리 시 강함 | 경로 분리 시 강함·고정 루트 스크립트는 약함 |
| 운영 복잡도 | add·remove·prune 위생 필요 | 주니어에게 직관적·폴더 방치 증가 |
| 권장 기본값 | 짧은 PR 빌드 많은 바쁜 원격 Mac | 리모트·자격 증명이 완전히 다른 장기 레인 |
③ CocoaPods·npm 등 락파일 전략
락 파일은 Git이 진실입니다. 호스트가 몰래 고치면 충돌이 납니다.
- CocoaPods: 트리별
--project-directory·Podfile.lock 커밋·락 드리프트 CI 실패. - npm 계열:
npm ci등·Node는.nvmrc/Volta. - 캐시: 앱이 섞이면 캐시 티어 분리 또는 설치만 직렬.
공유 원격 Mac 풀 FAQ와 병행하면 리소스 풀 충돌을 줄입니다.
④ 동시 실행 상한과 큐
무거운 아카이브는 Mac당 1·가벼운 검사는 CPU·RAM 여유 시 최대 2. 풀당 대기 약 20건에서 알림. Runner 라우팅 매트릭스와 라벨을 맞추세요.
⑤ 결정 매트릭스와 파라미터
| 신호 | 참이면 선택 | 파라미터 |
|---|---|---|
| 짧은 브랜치 다수 | worktree·자동 prune | 호스트당 열 worktree 최대 약 8(노드 추가 전) |
| Pod·npm 레이스 빈번 | 워크트리별 설치 경로 또는 설치 뮤텍스 | 풀 레인당 동시 설치 비행 1개 |
| 릴리스 아카이브 vs PR 잡음 | 호스트 분리 또는 시간대 분리 | PR 워크플로 없는 전용 릴리스 라벨 |
| 디스크 압박 | DerivedData·stale 트리 정리 | 여유 공간 약 15~20% 미만에서 정리 실행 |
⑥ 롤백·정리 FAQ
- 오염된 worktree를 어떻게 롤백하나요?
- 잡 중단·worktree 삭제·
git worktree prune·해당 DerivedData만 삭제 후 재실행. 주 클론 hard reset 금지. - 캐시는 언제 비우나요?
- resolve 실패·서명 오류·캐시 약 30~80GB 초과 시. 키체인·프로비저닝은 제외.
- 풀 Mac 정리 담당?
- 주간 오너가 디스크·worktree·큐 기록. 임계는 안정성 리뷰와 동일.
⑦ 실행 롤아웃 단계
1
원격 Mac에 주 클론·표준 경로 문서화.
2
worktree 경로 규칙 예:
/builds/<repo>/wt-<slug>.
3
CI가 잡마다 worktree 생성·갱신 후 트리별 설치.
4
락파일 전용 설치·더러운 트리는 실패.
5
동시 상한·큐 알림·주간 prune 스케줄.
인용 가능한 숫자·기준
- 무거운 컴파일 동시성: Mac 등급당 시작값 1
- 가벼운 검사: 상한 2(CPU·RAM 여유 구간에서만)
- 풀당 대기 알림: 약 20건 부근
- 디스크 정리: 여유 약 15~20% 미만
SSH·VNC 선택 가이드로 접속 방식을 맞추세요.