결정 매트릭스 2026

2026 소규모 팀 공유 원격 Mac: 빌드 산출물 rsync·NFS 캐시 결정 매트릭스

2026.03.28 Meshmac R&D Team 9분 읽기

공유 원격 Mac 풀에서 iOS·macOS 빌드 산출물을 안전히 배포하려면 rsync 직접 전송·증분 동기화·NFS 마운트 캐시 중 무엇을 택할지가 갈립니다. 본문은 동시 빌드·권한 격리·충돌 회피를 전제로 비교표·결정 매트릭스·실행 단계·FAQ를 압축합니다. 블로그 목록에서 인접 주제를 이어 읽을 수 있습니다.

산출물 경로에서 자주 터지는 지점

  1. 보이지 않는 레이스: 두 잡이 동시에 latest/나 공용 export에 쓰면 반쓰기 파일·POSIX ACL이 뒤섞입니다.
  2. 권한 드리프트: 개인 계정 umask 077과 서비스 계정 022가 섞이면 같은 볼륨의 다운스트림 읽기가 깨집니다.
  3. 네트워크 착시: NFS는 로컬 같다가 락 경합·attr 캐시·지터에서 깨지고, rsync는 체크섬 비용을 무시하면 느리게 느껴집니다.

대상·핵심 키워드

대상: SSH·CI가 섞인 공유 빌드기를 운영하는 소규모 팀 기술 리더. Mac 메시 다중 노드 협업 글과 맞물리는 운영 결정을 다룹니다.

핵심 키워드: 공유 원격 Mac, rsync, NFS, 빌드 산출물, 권한 격리, 동시 빌드, 스테이징.

rsync 직접·증분 동기화·NFS 마운트 캐시

점대점 승격에는 rsync 직접(SSH 또는 데몬)이 명시적 삭제·검증에 강하고, 증분은 타임스탬프·크기 또는 --checksum으로 대역폭을 아낍니다. NFS는 동일 웜 레이어를 여러 Mac이 읽을 때 캐시 적중과 운영 단순성이 장점입니다. Git worktree·락파일 매트릭스와 병행하면 소스 트리와 산출물 경로를 동시에 분리합니다.

방식 잘 맞는 신호 주의
rsync 직접 릴리스 승격·에어갭·감사 로그가 필요 동시 쓰기 목적지·--inplace 남용 금지
증분 동기화 대용량 아티팩트 반복 전송·WAN 비용 절감 클럭 드리프트 시 타임스탬프만 믿지 말 것
NFS 캐시 다수 빌더가 동일 캐시·레이어 읽기 락·attr 캐시·필러 SLO에 의존

결정 매트릭스

신호 참이면 선택 실행 힌트
소비자가 한 필러만 봄 NFS 읽기 전용 마운트+캐시 워밍 필러 지연·가용성 SLO를 먼저 고정
릴리스마다 검증 필요 rsync+체크섬·버전 접두사 게시 스테이징 완료 후 원자적 rename
다중 망·방화벽 홉 SSH 위 rsync 단일 채널 Jump Host·인증서 로테이션과 정렬
큐·쿼터 이슈 풀 정책 문서화 공유 풀 FAQ의 대기·쿼터 기준 참고

동시성: 디렉터리 락·umask·SSH 인증서 역할

  • 디렉터리 락: 잡 시작 시 flock 또는 전용 스테이징 하위 경로 /artifacts/staging/<job-id>로 격리 후 게시.
  • umask: 팀 그룹 공유면 027+볼륨 주 그룹 고정, 공개 읽기 필요 시에만 022.
  • SSH CA 역할: ci-sync는 읽기 전용 rsync, builder는 잡 범위 쓰기, 관리는 별도 CA·짧은 TTL.

충돌 회피 rsync 매개변수

동시 독자가 있을 때 --inplace는 피하고, temp 디렉터리에 완료 후 rename 하세요. 삭제는 --delete-delay처럼 배치 끝에 모으거나 별도 정리 잡으로 분리합니다. 무결성이 중요하면 --checksum을 릴리스 경로에만 켜 비용을 제한합니다.

FAQ

동시 잡이 하나의 rsync 목적지를 공유해도 되나요?
아니요. 잡별 스테이징 후 원자적 게시가 기본입니다.
NFS가 항상 더 빠른가요?
웜 캐시·다독기에는 유리하고, 승격·오프라인 검증에는 rsync가 낫습니다.
umask는 무엇을 기본으로 할까요?
027과 그룹 정렬을 권장, 022는 공개 읽기가 정말 필요할 때만.
SSH 인증서를 어떻게 쪼갤까요?
ci-sync·builder·관리 CA를 분리하고 강제 명령·ACL로 쓰기 범위를 제한하세요.

롤아웃 단계

1
산출물 네임스페이스·스테이징·live 트리를 문서화하고 팀 그룹을 볼륨에 고정합니다.
2
CI에 잡별 하위 경로·락 스크립트를 넣고 게시 전 검증 훅을 둡니다.
3
rsync 프로필을 읽기 전용 승격용·쓰기 배포용 두 벌로 나눕니다.
4
NFS를 쓰면 마운트 옵션·캐시·필러 SLO를 합의하고 실패 시 rsync 폴백을 정의합니다.
5
SSH CA principal·TTL·강제 명령을 배포하고 분기마다 로테이션 드릴을 기록합니다.

인용 가능한 숫자·기준

  • 스테이징 상한: 잡당 고유 경로·동시 live 쓰기 금지
  • umask 기본: 팀 공유 027, 공개 읽기 예외만 022
  • SSH TTL: 운영 합의로 수 시간~1일 이하 권장
  • 체크섬 rsync: 릴리스 경로에만 선택 적용해 비용 제어

산출물 파이프라인 다음은 노드와 접근 방식입니다

Meshmac 공유 원격 Mac으로 빌드·동기화 정책을 노드 풀에 맞추세요. 도움말에서 SSH·VNC·초기 설정을 보고, 구매·대여가격·노드 선택로그인 없이 가능합니다. ·블로그에서 협업 글을 이어가세요.