코드 저장소 권한
저장소가 SSH와 단기 액세스 토큰 중 무엇을 사용하는지 확인하고, 비공개 의존성·서브모듈·산출물 저장소를 목록화하세요. 장기 유효 개인 비밀 키를 복사하지 말고 클라우드 Mac 전용 키를 생성해 프로젝트에 필요한 권한만 부여하세요.
주문부터 첫 아카이브까지
단순히 로그인 방법만 설명하는 문서가 아닙니다. 두 가지 물리 기기 중 하나를 선택하고 아시아·태평양 4개 노드 중 하나를 정한 다음, 자격 증명 강화, 도구 체인 복구, 코드 및 서명 검증, CI Runner 연결을 완료하세요. 마지막으로 재검증 가능한 기록으로 첫 작업을 검수합니다.
시작 전 준비
준비 단계에서는 기기 구성, 노드, 접속 방식과 데이터 책임을 명확히 기록해야 합니다. 하나라도 빠지면 이후 환경 복구가 임시 시행착오로 이어지기 쉽습니다.
저장소가 SSH와 단기 액세스 토큰 중 무엇을 사용하는지 확인하고, 비공개 의존성·서브모듈·산출물 저장소를 목록화하세요. 장기 유효 개인 비밀 키를 복사하지 말고 클라우드 Mac 전용 키를 생성해 프로젝트에 필요한 권한만 부여하세요.
인증서, 프로비저닝 프로파일, Keychain 접근 요구 사항과 아카이브 내보내기 방식을 정리하세요. 테스트에 필요한 비식별화 사본만 이전하고 가져오기 순서와 접근 제어를 기록해 전체 자격 증명이 저장소나 빌드 로그에 남지 않도록 하세요.
싱가포르, 일본(도쿄), 한국(서울), 홍콩 중 대상 노드를 선택하세요. 먼저 실제 사무실 네트워크에서 연결 경로를 테스트하고, 여러 지역에서 협업하는 팀은 주요 작업자와 CI 원본 네트워크에서 각각 확인해야 합니다.
단기 검증은 일·주 단위로, 안정적인 프로젝트는 월·분기 단위로 진행할 수 있습니다. 어떤 기간을 선택하든 백업 위치, 산출물 내보내기 디렉터리와 대여 종료 전 이전 담당자를 미리 정하세요.
주문 및 개통
주문 시 모델, 노드, 결제 기간과 추가 옵션만 지정하면 됩니다. 실제 사용 가능 상태는 콘솔의 실시간 응답을 기준으로 하며, 두 모델 모두 판매 중인 4개 노드를 지원합니다.
NUMACS M4 Core M4, 16GB RAM, 256GB SSD 구성으로 단일 프로젝트 유지 관리, 일상 디버깅과 가벼운 자동화에 적합합니다.NUMACS M4 Plus M4, 24GB RAM, 512GB SSD 구성으로 멀티태스크 빌드, 대규모 의존성 캐시와 병렬 테스트에 더 적합합니다.
싱가포르, 일본(도쿄), 한국(서울), 홍콩 중에서 선택할 수 있습니다. 주요 작업자 네트워크의 경로가 안정적이고 왕복 지연 시간이 짧은 노드를 우선 선택한 뒤, CI 연결 전에 Runner 네트워크에서 다시 테스트하세요.
일·주·월·분기 단위 대여를 지원합니다. 환경 복구, 첫 빌드, 오류 수정과 산출물 내보내기에 필요한 기간을 포함해야 하며 ‘설치에 걸리는 시간’만으로 계산하지 마세요.
대규모 에셋 라이브러리, 여러 Xcode 버전, 시뮬레이터 런타임과 장기 빌드 캐시는 공간을 빠르게 차지합니다. 추가 용량이 필요하면 주문 단계에서 +1TB SSD, +2TB SSD 또는 Thunderbolt 5 병렬 연결을 선택할 수 있습니다.
첫 보안 로그인
기기 정보를 받은 즉시 코드와 인증서를 가져오지 마세요. 먼저 자격 증명 교체, 접속 경로 검증과 관리자 권한 확인을 완료하고 깨끗한 상태를 기록하세요.
macOS 그래픽 인터페이스에 처음 로그인한 즉시 별도의 강력한 비밀번호를 설정하세요. 저장소·이메일·팀 공유 시스템의 비밀번호를 재사용하지 말고 자격 증명을 채팅 기록이나 자동화 스크립트에 남기지 마세요.
로컬에서 해당 기기 전용 키 쌍을 생성하고 공개 키를 인증 목록에 등록하세요. 키 로그인이 성공한 뒤 불필요한 접속 방식을 끄고 키 교체 담당자를 기록하세요.
해상도, 키보드 레이아웃, 클립보드 정책과 유휴 연결 해제 동작을 확인하세요. 원격 데스크톱은 그래픽 도구에, SSH는 스크립트와 진단에 사용하며 두 경로를 각각 검증해야 합니다.
관리자 명령을 한 번 제어된 방식으로 실행해 소프트웨어 설치와 시스템 설정 권한이 정상인지 확인하세요. 권한 문제를 우회하려고 시스템 보안 기능을 끄지 말고 명령, 파일 소유자와 실행 컨텍스트부터 확인하세요.
이전 경로
로컬 디렉터리 전체를 한 번에 복사하지 마세요. 데이터, 도구 체인과 CI는 실패 원인이 다르므로 분리해 이전해야 빠르게 롤백하고 문제가 파일·버전·실행 환경 중 어디에서 발생했는지 판단할 수 있습니다.
먼저 저장소, 구성 목록과 필요한 에셋을 이전한 다음 대형 캐시를 필요할 때만 복구하세요. 체크섬이나 파일 수로 결과를 확인하고 임시 디렉터리, 파생 데이터와 오래된 아카이브는 복사하지 마세요.
버전 목록에 따라 Xcode, Homebrew, Ruby, Node.js와 패키지 관리자를 다시 설치하세요. 의존성 잠금 파일을 복구 기준으로 삼고 캐시는 속도 향상에만 사용하며 재현 가능한 설치 절차를 대신할 수 없습니다.
전용 Runner를 등록하고 작업 디렉터리, 캐시 범위, 동시 실행 한도와 실패 로그 보존을 설정하세요. 먼저 서명 없는 테스트 작업을 실행한 뒤 아카이브와 내보내기 단계를 순차적으로 추가합니다.
개발 환경 설치
새 기기에서 가장 흔한 문제는 도구 부족이 아니라 버전 조합의 변동입니다. 안정적으로 빌드되는 조합을 먼저 복구한 뒤 별도 브랜치에서 업그레이드를 테스트하세요.
| 계층 | 고정해야 할 항목 | 복구 방법 | 검수 증거 |
|---|---|---|---|
| macOS | 프로젝트에서 검증된 시스템 주 버전 및 패치 범위 | 현재 시스템을 먼저 기록하고 첫 이전에서 주 버전을 업그레이드하지 않기 | sw_vers |
| Xcode | Xcode 버전, 명령줄 도구 경로, SDK | 지정 버전을 설치하고 개발자 디렉터리 전환을 명확히 하기 | xcodebuild -version |
| Homebrew | Brewfile, 저장소 출처, 핵심 도구 버전 | 목록에 따라 재설치하고 기존 캐시 디렉터리를 직접 복사하지 않기 | brew bundle check |
| Ruby | 인터프리터 버전, Bundler 버전, Gemfile.lock | 프로젝트 버전 파일로 복구한 후 의존성 설치 실행 | ruby -v |
| Node.js | 런타임 버전, 패키지 관리자 버전, 잠금 파일 | 버전 파일에 따라 설치하고 잠금 파일 고정 모드로 복구 | node -v |
| 프로젝트 의존성 | CocoaPods, Swift Package, JavaScript 의존성 | 계층별로 복구하고 각 계층의 실패 로그를 별도로 보존 | 의존성 확인 과정에서 암묵적 업그레이드 없음 |
첫 빌드가 성공하면 시스템, Xcode, Ruby, Node.js, 패키지 관리자와 핵심 의존성 버전 출력을 내부 운영 기록에 저장하세요. 다음 이전이나 문제 해결 시 먼저 기준선과 비교한 뒤 환경을 변경합니다.
sw_vers
xcodebuild -version
ruby -v
node -v
brew bundle check
코드 및 서명 연결
코드 가져오기, 의존성 복구, Keychain 접근과 아카이브 내보내기를 각각 검증하세요. 정식 프로젝트가 실패해도 저장소·의존성·서명 권한 중 원인을 빠르게 판단할 수 있습니다.
전용 SSH 키로 저장소를 클론하고 서브모듈과 비공개 의존성 권한을 확인하세요. 의존성 설치는 잠금 파일 모드로 진행하며 이전 중 전체 의존성을 임의로 업데이트하지 마세요.
테스트에 필요한 비식별화 서명 자산만 가져오고 Keychain 파일 권한을 제한하세요. 복구 코드, 비밀 키 또는 전체 결제 자격 증명을 이슈, 저장소와 공유 로그에 기록해서는 안 됩니다.
먼저 최소 테스트 프로젝트를 빌드·테스트·아카이브한 후 정식 프로젝트로 전환하세요. 아카이브 성공이 내보내기 성공을 의미하지 않으므로 내보내기 로그와 산출물 체크섬을 별도로 저장해야 합니다.
CI Runner 연결
Runner 연결의 핵심은 ‘온라인’ 상태가 아니라 작업 디렉터리 정리 가능 여부, 캐시 범위, 동시 실행 간 오염 방지와 실패 로그 보존입니다.
전용 Runner를 등록하고 서명 없는 환경 확인 작업 하나만 실행하세요.
의존성 복구와 단위 테스트를 추가하고 캐시를 비워도 성공하는지 확인하세요.
아카이브 단계를 추가하고 비대화형 세션에서 Keychain 접근 범위를 검증하세요.
산출물 내보내기·체크섬·업로드를 추가하고 전체 작업 시간 기준선을 기록하세요.
첫 작업 검수
검수는 코드 가져오기부터 산출물 내보내기까지 전체 흐름을 포함하고 소요 시간, 리소스 여유 공간과 실패 재시도 결과를 기록해야 합니다. 이후 도구 체인을 업그레이드하거나 프로젝트를 전환할 때 이 기록이 비교 기준이 됩니다.
빈 작업 디렉터리에서 대상 커밋을 클론하고 비공개 의존성, 서브모듈과 저장소 권한을 확인하세요. 기존 디렉터리 잔여물에 의존하지 않습니다.
잠금 파일로 모든 의존성을 복구하고 콜드 캐시와 웜 캐시 소요 시간을 기록해 암묵적인 버전 업그레이드가 없는지 확인하세요.
단위 테스트와 필요한 자동화 테스트를 실행하고 실패 사례, 재시도 횟수와 로그 위치를 기록하세요.
빌드 구성, 서명 ID와 아카이브 위치를 확인하고 비대화형 작업과 그래픽 인터페이스 실행 결과가 일치하는지 확인하세요.
내보낸 파일을 읽을 수 있는지 확인하고 파일 크기와 체크섬을 기록한 뒤 필요한 산출물을 별도 백업 위치에 복사하세요.
CPU 최고 사용량, 메모리 압박, 빌드 전후 디스크 여유 공간, 총 소요 시간과 캐시 크기를 저장해 이후 이상 징후 비교에 사용하세요.
일상 운영
NUMACS 물리 노드는 연중 365일 정상 운영됩니다. 기기 측에서는 캐시, 디스크, 백업과 접근 자격 증명을 계속 관리해 프로젝트 상태가 한 대의 기기에만 남지 않도록 해야 합니다.
작업 디렉터리, DerivedData, 시뮬레이터 런타임, 패키지 관리자 캐시와 이전 아카이브를 확인하세요. 출처별로 정리하고 범위를 설명할 수 없는 전체 디스크 삭제 명령은 사용하지 마세요.
macOS, Xcode, Ruby, Node.js 또는 핵심 의존성을 변경할 때마다 테스트와 아카이브를 다시 실행하고 변경 전후의 소요 시간과 실패 차이를 기록하세요.
SSH 키, 저장소 액세스 토큰과 기기 비밀번호를 정기적으로 교체하세요. 구성원이 프로젝트를 떠나거나 권한이 변경되면 해당 접근 권한을 즉시 취소하고 개인 키를 공유하지 마세요.
대여 종료 전에 코드 변경 사항, 빌드 산출물, 환경 목록, CI 구성과 필요한 로그를 내보내세요. 이전 파일의 체크섬을 확인하고 다른 위치에서 실제로 열어 검증합니다.
모델, 노드, 기간과 추가 옵션을 선택한 후 콘솔에서 주문과 기기를 한곳에서 확인하세요. 결제는 USDT-TRC20 및 Visa / Mastercard / Amex(Stripe)만 지원하며 모든 금액은 미국 달러(USD)로 결제됩니다.