첫 로그인부터 빌드 아카이브까지

연결하고. 이전하고. 빌드하세요.

첫 연결부터 환경 이전, CI 연동, 반납까지 안내합니다. SSH 명령으로 노드에 연결한 뒤 코드, 서명 자료, 도구 체인을 옮기세요. 가상 머신이 아닌 독립 물리 Mac에서 macOS 그래픽 인터페이스와 명령줄을 모두 사용할 수 있습니다.

이미 주문하셨나요? 먼저 콘솔에서 인스턴스 상태와 연결 정보를 확인하세요. 비밀번호, 개인 키, 서명 인증서를 공개 로그에 붙여 넣지 마세요.

1단계 · 연결 확인

먼저 연결하고, 그다음 환경을 옮기세요.

콘솔에서 인스턴스 상세 정보를 열어 노드 주소, 사용자 이름, 포트, 초기 비밀번호를 확인하세요. 아래 명령의 주소는 실제 값으로 바꾸고, 포트가 다르면 인스턴스 상세 정보에 표시된 값을 입력하세요.

SSH

명령줄: 먼저 대화형으로 로그인

처음 연결할 때 호스트 지문을 확인하고 신뢰할 수 있는 인스턴스 정보와 일치하는지 확인한 뒤 수락하세요. 안내를 건너뛰려고 호스트 키 검사를 끄지 마세요.

ssh admin@<노드 주소>

인스턴스에서 기본 SSH 포트를 사용하지 않는 경우 명령에 -p <포트>를 추가하세요. 로그인한 뒤 다음 명령을 실행해 현재 사용자, 시스템 버전, 남은 디스크 공간을 확인하세요.

whoami
sw_vers
df -h
passwd

passwd 명령은 현재 사용자 비밀번호를 대화형으로 변경합니다. 그런 다음 로컬에서 별도의 ed25519 키를 생성하고 공개 키를 노드의 ~/.ssh/authorized_keys에 추가하세요. 개인 키는 본인 기기나 관리되는 키 저장소에만 보관하세요.

ssh-keygen -t ed25519
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

권한 설정 명령은 노드에서 실행하세요. 두 번째 터미널에서 키 로그인이 되는지 확인한 뒤 팀 보안 정책에 따라 비밀번호 로그인 방식을 조정하세요. 노드에 다시 접속하지 못하는 상황이 생기지 않도록 주의하세요.

확인: 새 터미널에서 키로 로그인 가능
VNC

그래픽 인터페이스: 대화형 설정 완료

키체인 작업, Xcode 설정 확인, 시뮬레이터 확인이 필요할 때는 인스턴스 상세 정보에 제공된 화면 공유 연결 정보를 사용하세요. 화면 공유 주소와 SSH 주소의 포트가 다를 수 있으니 임의로 입력하지 마세요.

  1. 인스턴스가 준비되었는지 확인하고 콘솔에서 화면 공유 주소, 포트, 사용자 정보를 확인하세요.
  2. 로컬 Mac의 화면 공유 앱에서 연결한 뒤 제공된 계정 정보로 로그인하세요.
  3. 데스크톱에 처음 로그인한 후 초기 비밀번호를 변경하고 로그인 키체인이 정상적으로 잠금 해제되는지 확인하세요.
  4. 사용할 Xcode 버전을 열고 라이선스를 확인한 뒤 필요한 구성 요소를 설치하세요. 그런 다음 명령줄에서 확인합니다.
xcode-select -p
xcodebuild -version

SSH 터널을 통해 화면 공유에 연결하는 경우 로컬 전달 포트와 대상 포트는 인스턴스의 실제 설정에 맞추세요. 필요한 출처에만 접근을 허용하고 그래픽 연결 포트를 모든 출처에 공개하지 마세요.

검은 화면이 보여도 노드가 오프라인이라는 뜻은 아닙니다. 먼저 SSH로 연결 가능 여부를 확인한 다음 그래픽 세션, 계정 권한, 연결 포트를 점검하세요. 문제를 해결하려고 시스템을 반복해서 초기화하지 마세요.

확인: 데스크톱 표시, 올바른 Xcode 버전
2단계 · 의존성 순서에 따라 이전

로컬 Mac → 클라우드 Mac

데이터, 도구 체인, CI 순서로 진행하세요. 먼저 독립적으로 검증할 수 있는 프로젝트 하나를 옮기고 사용자 홈 디렉터리 전체를 한꺼번에 복사하지 마세요. 아래 시간은 작업 예상치이며 저장소 크기, 네트워크, 의존성 다운로드에 따라 달라질 수 있습니다.

01 / 데이터

코드와 서명 자료부터 준비

Git에서 저장소를 복제하고 로컬과 동일한 커밋으로 전환하세요. 비공개 저장소에는 권한이 제한된 배포 키나 단기 토큰을 사용하고 장기 자격 증명을 저장소 주소에 넣지 마세요.

git clone <저장소 주소>
git rev-parse HEAD
rsync -av --progress ./Assets/ \
  admin@<노드 주소>:~/work/Assets/

서명이 필요하면 로컬 키체인에서 개인 키가 포함된 .p12 파일을 내보내세요. 별도의 비밀번호로 암호화해 전송한 뒤 노드 키체인으로 가져오세요. 프로비저닝 프로파일은 별도로 옮기고 인증서 유효 기간, 팀, 대상 설정을 확인하세요.

대용량 리소스는 rsync 증분 동기화로 전송하세요. 처음에는 삭제 옵션을 사용하지 마세요. 대상 디렉터리를 먼저 확인해 노드에서 새로 생성된 결과물이 삭제되지 않도록 하세요.

예상 3~10분 · 대용량 파일 전송 제외
02 / 도구 체인

캐시를 복사하지 말고 버전을 맞추세요

로컬에서 Brewfile을 내보내 노드로 전송한 다음 복원하세요. 목록을 먼저 확인하고 필요 없는 데스크톱 앱과 오래된 의존성을 제거해 첫 다운로드 용량을 줄이세요.

brew bundle dump --file=Brewfile
brew bundle --file=Brewfile
xcodes list
xcodes install <필요한 버전>

프로젝트에서 요구하는 Xcode, Ruby, CocoaPods 버전을 확인하세요. xcodes로 버전을 설치할 때는 소프트웨어 라이선스와 다운로드 권한을 준수하세요. 설치가 끝나면 xcodebuild -version 으로 실제 선택된 버전을 확인하세요.

Gemfile이 있는 프로젝트에서는 먼저 bundle exec pod install을 실행하세요. SPM은 프로젝트에 포함된 잠금 파일로 의존성을 확인합니다. 첫 빌드는 캐시를 준비하기 위한 것으로, 이후 빌드 속도의 기준으로 삼지 마세요.

예상 5~15분 · 다운로드 시간 별도
03 / CI 연동

먼저 수동 빌드에 성공한 뒤 실행기 등록

대화형 세션에서 빌드와 서명을 한 번 완료하세요. 명령줄에서 아카이브를 생성할 수 있게 된 다음 GitHub Actions self-hosted runner 또는 GitLab Runner를 등록하면 도구 체인과 작업 스케줄 설정을 동시에 점검하는 일을 피할 수 있습니다.

bundle exec fastlane match development --readonly
bundle exec fastlane gym

match의 서명 유형과 사용할 lane은 프로젝트 설정을 따르세요. CI에는 권한이 제한된 자격 증명을 사용하고 키는 보호된 변수나 키 저장소에 보관하세요. 비밀번호를 스크립트에 기록하지 마세요.

임시 실행기에 별도 라벨을 설정하고 신뢰할 수 있는 브랜치만 실행하도록 제한하세요. 실행 계정이 서명 키체인과 작업 디렉터리에 접근할 수 있는지 확인하고, 대화형 입력 없이 빌드가 진행되는지도 검증하세요.

예상 3~8분 · 기존 파이프라인이 있다는 전제

이전 완료 기준:동일한 커밋, 동일한 Xcode 버전, 동일한 의존성 잠금 파일로 노드에서 내려받을 수 있는 아카이브를 생성할 수 있어야 합니다. 의존성 설치 성공만으로 환경 이전이 끝났다고 판단하지 마세요.

주문부터 전달까지 · 약 4분

막히면 해당 단계부터 확인하세요.

주문 후 노드를 사용할 수 있기까지는 보통 약 4분이 걸립니다. 코드 전송, 도구 다운로드, 첫 컴파일 시간은 포함되지 않습니다. 결제, 노드 할당, 전달 진행 상황은 콘솔에 표시되는 상태를 기준으로 확인하세요.

  1. 01

    주문 설정 확인

    약 40초

    모델, 임대 기간, 노드를 선택하고 추가 옵션과 총액을 확인하세요. 진행이 막히면 필수 항목과 페이지에 표시된 오류를 확인하고 같은 주문을 반복해서 생성하지 마세요.

  2. 02

    달러로 결제

    약 60초

    USDT-TRC20 및 Visa / Mastercard / Amex(Stripe 결제)만 지원하며 USD로 결제됩니다. 진행이 막히면 청구 상태를 확인하세요. 블록체인 확인이나 카드 발급사의 인증으로 대기 시간이 길어질 수 있습니다.

  3. 03

    노드 초기화 대기

    약 2분

    결제가 확인되면 독립 물리 노드 할당이 시작됩니다. 진행이 막히면 인스턴스 상태와 시스템 안내를 확인하세요. 결제가 완료된 뒤에도 상태가 오랫동안 바뀌지 않으면 주문 번호를 준비해 지원 요청을 제출하세요.

  4. 04

    전달 알림 확인

    인증 정보 이메일 / 콘솔

    받은편지함과 스팸 폴더를 확인하고 콘솔의 연결 정보와 대조하세요. 알 수 없는 이메일에 비밀번호로 답장하지 마세요. 알림을 받지 못했다면 먼저 인스턴스가 준비되었는지 확인하세요.

  5. 05

    첫 로그인 확인

    약 20초

    먼저 SSH로 연결한 뒤 그래픽 인터페이스를 확인하세요. 문제가 생기면 전체 오류 메시지, 발생 시각, 시간대를 기록하고 아래 문제 해결 목록을 참고해 네트워크, 인증, 세션 문제를 구분하세요.

반납 전 · 데이터 먼저 보관

장비는 반납하고,
결과물은 가져가세요.

만료 후 자동 갱신되지 않습니다. 계속 사용하려면 만료 전에 콘솔에서 직접 연장하고 처리 결과를 확인하세요. 실행 중인 빌드 작업 때문에 임대 기간이 자동으로 연장된다고 생각하지 마세요.

반납 후 디스크 전체가 안전하게 삭제되며 노드는 장기 백업 공간이 아닙니다. 마지막 아카이브, 디버그 심벌, 필요한 로그를 본인이 관리하는 저장소에 복사한 뒤 파일을 열 수 있는지 확인하세요. 로컬 파일을 삭제해도 원격 접근 권한이 해제되지는 않습니다.

반납 전 4가지 확인

  1. 빌드 결과물 내보내기..xcarchive, .ipa, dSYM, 필요한 빌드 로그를 내려받고 업로드 또는 다운로드가 완료되었는지 확인하세요.
  2. 임시 실행기 등록 해제.CI 플랫폼에서 runner 등록을 제거하고 로컬 실행기 프로세스를 중지한 뒤 배포 키와 임시 접근 토큰을 폐기하세요.
  3. 서명 자료 정리.가져온 인증서 개인 키, 프로비저닝 프로파일, 임시 설정을 제거하고 파이프라인 로그에 키나 비밀번호가 노출되지 않았는지 확인하세요.
  4. 만료 시간과 백업 확인.콘솔에 표시된 만료 시간과 시간대를 확인하고 마지막 빌드와 결과물 전송에 필요한 시간을 확보하세요.

팀으로 작업할 때는 한 명을 최종 반납 점검 담당자로 지정하세요. 다른 팀원이 이미 다운로드했을 거라고 생각하는 것을 유일한 백업 전략으로 삼지 마세요.

자주 쓰는 작업 · 최소 실행 구성

먼저 한 번 성공시키고, 그다음 파이프라인으로 확장하세요.

두 모델 모두 M4 독립 물리 Mac입니다. SDK Pack 16은 16GB / 256GB, SDK Pack 24는 24GB / 512GB를 제공합니다. 실제 프로젝트의 메모리와 저장 공간 요구량에 맞춰 선택하고 첫 검증에 모든 동시 작업을 몰아넣지 마세요.

앱 자동 빌드

먼저 scheme을 공유할 수 있는지, 서명 설정이 올바른지, 키체인에 접근할 수 있는지 확인하세요. 프로젝트에 Gemfile이 있으면 Bundler로 Fastlane 버전을 고정한 뒤 아카이브를 생성하세요.

bundle install
bundle exec fastlane gym
bundle exec fastlane pilot upload \
  --ipa ./build/App.ipa

예시 경로를 실제 결과물 경로로 바꾸세요. pilot 업로드 전에 프로젝트에서 사용하는 배포 API 키를 설정하고 보호된 CI 변수에 저장하세요. 업로드 권한과 빌드 성공 여부는 별도로 확인해야 합니다.

확인: 아카이브 다운로드 가능, 업로드 결과 확인

원격 Mac 개발

먼저 일반 SSH 연결을 확인한 다음 VS Code Remote-SSH에서 동일한 연결 설정을 사용하세요. 에디터 연결이 실패하면 시스템 권한을 바로 바꾸지 말고 원격 확장 로그부터 확인하세요.

Host sdk-build
  HostName <노드 주소>
  User admin
  IdentityFile ~/.ssh/id_ed25519
  ServerAliveInterval 30

설정 파일은 로컬의 ~/.ssh/config에 저장하세요. 연결 후 터미널이 어느 머신에 연결되어 있는지와 작업 디렉터리를 확인하세요. 시뮬레이터와 그래픽 디버깅은 화면 공유로 하고, 코드 편집과 Git 작업에는 SSH를 사용하면 됩니다.

확인: 편집과 빌드에 동일한 작업 공간 사용

GPU 렌더링 및 MLX 추론

작업이 Apple Silicon과 필요한 그래픽 백엔드를 지원하는지 확인한 뒤 격리된 Python 환경을 준비하세요. 모델 가중치, 앱 메모리, 중간 결과를 위한 공간도 확보해야 합니다.

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install mlx
python -c "import mlx.core as mx; print(mx.default_device())"

작은 입력으로 의존성과 장치 선택을 먼저 확인한 다음 해상도, 배치 크기, 컨텍스트 길이를 점차 늘리세요. 앱 버전과 매개변수를 기록하세요. 실행 가능 여부는 모델 가중치 크기와 실제 메모리 사용량에 따라 달라집니다.

확인: 소규모 작업 완료, 리소스 사용량 안정
문제 해결 · 한 번에 하나씩 변경

오류 유형부터 정확히 구분하세요.

먼저 원본 오류를 저장한 다음 변경을 시도하세요. 아래 네 가지 문제는 각각 네트워크, 그래픽 세션, 서명 권한, 저장 공간과 관련됩니다. 환경 재설치는 보통 첫 번째 해결 방법이 아닙니다.

SSH 시간 초과 또는 인증 실패

시간 초과:주소, 포트, 인스턴스 상태, 로컬 네트워크 제한을 확인하세요. ssh -v 를 사용해 연결 단계에서 멈췄는지 인증 단계에서 멈췄는지 확인하세요.

인증 실패:사용자 이름, 키 경로, authorized_keys 권한을 확인하세요. 지문이 바뀌었다면 노드가 다시 전달되었는지 먼저 확인하고, 신뢰된 호스트 기록을 바로 삭제하지 마세요.

지원 요청에 포함: 원본 오류, 포트, 발생 시각

화면 공유 검은 화면

먼저 SSH로 노드에 연결되는지 확인한 다음 화면 공유 포트와 로그인 계정을 확인하세요. 초기화 작업이 진행 중인지, 로컬 클라이언트에 이전 연결 정보가 저장된 것은 아닌지 살펴보세요.

클라이언트를 종료한 뒤 다시 연결하세요. 터널을 사용한다면 포트 전달 프로세스가 계속 실행 중인지 확인하세요. 결과물을 내보내기 전에는 머신을 반복해서 재시작하지 마세요.

지원 요청에 포함: 클라이언트 버전, 민감 정보를 가린 스크린샷

키체인 팝업으로 CI 중단

그래픽 세션에서 서명 개인 키가 가져와졌는지, 인증서가 유효한지 확인하세요. runner 실행 계정이 서명 환경을 설정한 계정과 동일한지도 점검하세요.

CI에는 전용 서명 키체인을 사용하고 팀 정책에 따라 잠금 해제 및 접근 권한을 설정하세요. 먼저 대화형 입력이 필요 없는 빌드를 실행해 확인하고 키체인 비밀번호를 로그에 출력하지 마세요.

지원 요청에 포함: 실패 단계, 서명 오류 코드

디스크 공간 부족

먼저 df -h를 실행한 다음 DerivedData, 아카이브, 시뮬레이터 데이터, 컨테이너 이미지를 확인하세요. 다시 생성할 수 있다고 확인된 캐시만 정리하고 아직 내보내지 않은 아카이브와 디버그 심벌은 보관하세요.

프로젝트와 리소스가 장기간 저장 공간 예산을 초과한다면 주문 설정에서 +1TB SSD 또는 +2TB SSD 추가 저장 공간을 선택할 수 있습니다. 기존 인스턴스의 용량 변경 방법은 지원 요청으로 먼저 확인하고, 추가 구매 직후 바로 확장된다고 가정하지 마세요.

지원 요청에 포함: 남은 공간 및 용량이 큰 디렉터리 정보
더 읽기 · 문제에서 시작하기

자세한 내용은 기술 문서를 확인하세요.

이 페이지에서는 연결부터 반납까지 전체 작업 순서를 다룹니다. 컨테이너 도구, 의존성 이전, 보안 연결, 임대 모델 선택에 관한 자세한 내용은 기술 문서 목록에서 확인하세요. 실제 게시된 문서 내용은 목록을 기준으로 합니다.

먼저 해결할 문제 영역을 정하세요

도구 체인:설치했다고 빌드할 수 있는 것은 아닙니다. Xcode, 의존성 관리자, 잠금 파일을 기록하고 로컬과 노드의 버전 차이를 먼저 비교하세요.

보안:연결이 된다고 권한 설정이 올바른 것은 아닙니다. 임시 노드에는 별도의 키와 권한이 제한된 토큰을 사용하고 반납할 때 등록을 해제하세요. 개인 장기 자격 증명을 재사용하지 마세요.

기종 선택:한 번 성공했다고 장기간 사용에 적합한 것은 아닙니다. 실제 메모리 최고치, 디스크 증가량, 동시 작업을 살펴본 뒤 모델과 임대 기간을 정하세요.

엔지니어와 함께 확인하기

현재 상태를 남겨 두면,
오류부터 함께 살펴보겠습니다.

임대한 인스턴스에 문제가 있으면 콘솔에 로그인해 지원 요청을 제출하세요. 주문 번호, 노드, 발생 시각과 시간대, 재현 단계, 민감 정보를 제거한 로그를 첨부해 주세요. 구매 전 문의나 로그인할 수 없는 문제는 이메일로 문의하실 수도 있습니다: support@macsdk.com。

응답 시간은 지원 요청에 표시된 접수 및 답변 진행 상황을 기준으로 확인하세요. 자동 회신을 담당자의 답변으로 간주하지 마세요. 문제가 진행 중인 빌드에 영향을 준다면 제목에 영향 범위를 적고 오류가 발생한 상태를 보존하세요. 개인 키, 비밀번호, 서명 파일 전체는 제출하지 마세요.