연결부터 파이프라인 연결까지

클라우드 Mac을 개발 및 빌드 워크플로에 연결하세요

이 가이드는 실제 작업 순서에 따라 연결 정보, SSH 키, 원격 데스크톱, Xcode, 의존성 복구와 CI Runner를 정리했습니다. 각 단계에 확인 지점을 제시해 문제가 장치, 툴체인 또는 파이프라인 설정 중 어디에서 발생했는지 쉽게 확인할 수 있습니다.

장치 실행 시트 READY PATH
01
안전한 연결 설정 장치 주소, 사용자 이름 및 SSH 지문 확인
02
빌드 환경 복구 Xcode, 의존성, 서명 자료 및 경로 확인
03
CI Runner 연결 최소 권한으로 실행하고 빌드 로그 내보내기
연결 체크리스트 실행 가능 3 PHASES
05 준비 단계연결, 로그인, 보안, 툴체인, CI
04 파이프라인 도구Actions, GitLab CI, Jenkins, Fastlane
01 장치 경계주문 하나당 독립 물리 노드 한 대
시작 전 확인할 5가지

가장 짧은 경로부터 성공시킨 후 전체 워크로드를 이전하세요

처음부터 모든 저장소와 키를 옮기는 것은 권장하지 않습니다. 먼저 독립적으로 빌드할 수 있는 작은 프로젝트로 연결, 권한, Xcode와 네트워크 경로를 검증한 뒤 정식 파이프라인을 단계적으로 연결하세요.

  1. 01

    연결 정보 확인

    콘솔에 로그인한 뒤 장치 상세 정보에서 장치 주소, 연결 사용자 이름, 포트와 초기 자격 증명을 확인하세요. 채팅 기록이나 오래된 문서에서 만료된 정보를 복사하지 마세요.

    완료 기준 장치 주소와 SSH 지문을 별도로 저장
  2. 02

    첫 로그인 완료

    먼저 SSH 세션을 설정한 다음 필요에 따라 macOS 그래픽 인터페이스를 활성화하세요. 처음 연결할 때 호스트 지문을 확인하고, 예기치 않게 변경되었다면 작업을 중지하고 다시 확인하세요.

    완료 기준 명령줄과 그래픽 인터페이스 모두 정상적으로 접속 가능
  3. 03

    계정 보안 강화

    임시 자격 증명을 교체하고 전용 SSH 공개 키를 설치한 뒤 더 이상 사용하지 않는 권한을 삭제하세요. 복구 정보는 팀에서 승인한 비밀번호 관리 도구에 보관하세요.

    완료 기준 현재 팀에 필요한 접근 방식만 유지
  4. 04

    툴체인 준비

    Xcode 버전, 명령줄 도구, 패키지 관리자, 런타임과 프로젝트 의존성을 확인하세요. 버전 출력 결과를 기록하고 그래픽 인터페이스에 표시되는 앱 이름만으로 판단하지 마세요.

    완료 기준 동일한 커밋을 명령줄에서 빌드 가능
  5. 05

    CI 연결

    전용 Runner 계정을 만들고 저장소와 키 권한을 제한하세요. 먼저 배포 작업이 없는 테스트 작업을 실행한 다음 아카이브 또는 배포 단계를 활성화하세요.

    완료 기준 빌드 로그, 산출물 및 종료 코드를 추적 가능
명령 실행 예시

세 가지 출력으로 연결·컴파일·배포 경로를 파악하세요

다음 매개변수는 구조 예시이며 실제 장치 정보가 아닙니다. 실행 전에 꺾쇠괄호 안의 장치 주소, 사용자 이름, 프로젝트 이름, Scheme과 작업 공간 경로를 바꾸세요.

MiniRent 빌드 점검대 SESSION 01
CONNECT SSH 세션 설정
$ ssh -i ~/.ssh/minirent_ed25519 \
  <사용자-이름>@<장치-주소>

The authenticity of host cannot be established.
ED25519 key fingerprint is <지문>

$ sw_vers
ProductName: macOS
ProductVersion: <시스템-버전>

처음 연결하기 전에 콘솔에서 지문을 별도로 확인하세요. 저장해 둔 지문이 갑자기 변경되었다면 새 값을 바로 승인하지 마세요.

BUILD Xcode 빌드 실행
$ xcodebuild -version
Xcode <버전>
Build version <빌드-번호>

$ xcodebuild \
  -workspace <프로젝트-이름>.xcworkspace \
  -scheme <Scheme> \
  -destination 'generic/platform=iOS' \
  clean build | tee build.log

** BUILD SUCCEEDED **

동일한 커밋에서 먼저 clean build를 실행하세요. 실패하면 전체 종료 코드와 로그를 보관하고 마지막 한 줄만 잘라내지 마세요.

AUTOMATE Fastlane 워크플로 검증
$ bundle exec fastlane <lane-이름>

[fastlane] Checking environment
[fastlane] Resolving signing inputs
[fastlane] Building archive
[fastlane] Export completed
[fastlane] Lane finished successfully

정식 배포 작업이 없는 lane에서 환경 변수, 서명 경로와 아카이브 디렉터리를 먼저 검증한 뒤 후속 단계를 활성화하세요.

예시 매개변수는 반드시 바꾸세요. 개인 키, 액세스 토큰, 인증서 비밀번호 또는 전체 장치 주소를 공개 로그에 기록하지 마세요.
이전 경로

로컬 Mac에서 클라우드 Mac으로: 데이터·툴체인·자동화의 3단계 이전

이전의 목표는 사용자 디렉터리 전체를 복사하는 것이 아닙니다. 코드, 의존성, 서명 자료와 Runner 권한을 검증하고 교체하며 롤백할 수 있게 만드는 것입니다.

로컬 Mac
클라우드 Mac
  1. 1단계 · 데이터 동기화

    검증 가능한 작업 데이터만 이전

    코드는 관리되는 저장소에서 다시 가져오는 것을 우선하세요. 대용량 리소스, 캐시와 빌드 산출물은 각각 검토하고 사용자 디렉터리 전체를 그대로 복사하지 마세요.

    • 원본 저장소 주소, 대상 브랜치와 커밋 해시 기록
    • 대용량 리소스의 파일 수, 총용량과 체크섬 확인
    • DerivedData, 임시 아카이브와 다시 생성할 수 있는 캐시 제외
    • 동기화 후 읽기 전용 검사를 실행해 권한과 줄바꿈 형식 확인
  2. 2단계 · 툴체인 복구

    버전 목록에 따라 Xcode 환경 재구성

    먼저 기본 빌드를 완료할 수 있는 최소 도구 세트를 복구한 뒤 패키지 관리자, 시뮬레이터 런타임과 프로젝트 전용 스크립트를 추가하세요.

    • Xcode 버전, 빌드 번호와 현재 개발자 디렉터리 기록
    • Ruby, Bundler, Node와 패키지 관리자 버전 고정
    • 잠금 파일에서 의존성을 복구해 무제한 업데이트 방지
    • 고정 커밋으로 clean build를 실행하고 기준 로그 저장
  3. 3단계 · CI 연결

    Runner와 키에 최소 권한만 부여

    자동화 계정은 수동 로그인과 분리해야 합니다. 키는 관리되는 주입 방식으로 제공하고 빌드가 끝나면 임시 파일과 민감한 환경 변수를 삭제하세요.

    • Runner용 독립 실행 디렉터리와 태그 생성
    • 접근 가능한 저장소, 브랜치와 배포 환경 제한
    • 로그 출력 전에 토큰, 비밀번호와 인증서 경로 마스킹
    • 테스트 작업부터 실행한 뒤 아카이브와 배포를 단계적으로 활성화
원격 액세스

자격 증명·세션·비정상 연결을 분리해 처리

연결 문제는 대개 로컬 네트워크, 장치 주소와 포트, 인증, 원격 세션 상태의 네 가지 계층에서 발생합니다. 반복 재시도보다 계층별 점검이 빠릅니다.

액세스 실행 시트

감사 가능한 연결 습관 만들기

ACCESS / 04

자격 증명 보관

장치 주소, 사용자 이름과 개인 키를 분리해 보관하세요. 팀과 공유할 때는 관리되는 비밀번호 도구를 사용하고 개인 키를 저장소, 빌드 산출물 또는 티켓 첨부 파일에 넣지 마세요.

분리 보관

SSH 키

장치마다 전용 키 쌍을 사용하고 명확한 주석과 생성자를 기록하세요. 구성원이 프로젝트를 떠나거나 장치 용도가 바뀌면 해당 공개 키를 삭제하고 관련 자격 증명을 교체하세요.

전용 키

원격 데스크톱 세션

그래픽 인터페이스는 Xcode 설정, 인증서 가져오기와 화면 확인에 적합합니다. 장시간 빌드는 명령줄이나 Runner에서 실행해 계속 열어 둔 데스크톱 세션에 의존하지 마세요.

작업 분리

유휴 세션 종료

작업이 끝나면 원격 데스크톱에서 나가고 더 이상 필요하지 않은 포트 포워딩을 닫으세요. 백그라운드 빌드는 명확한 작업 관리 방식으로 실행하고 닫히지 않은 터미널 창에 의존하지 마세요.

능동적으로 종료
연결 실패

먼저 네트워크 경로 확인

현재 장치 주소와 포트를 확인한 뒤 로컬 네트워크가 대상 포트를 제한하는지 점검하세요. 연결 시간 초과는 키 거부와 다른 경우가 많으므로 오류 정보를 각각 기록하세요.

정보를 정리한 뒤 팀에 문의
지문 이상

자동 재연결 일시 중지

로컬 기록을 삭제하고 바로 계속하지 마세요. 먼저 콘솔에서 장치 정보를 확인한 뒤 티켓으로 변경 원인을 확인하고, 확인 후에 알려진 호스트 기록을 업데이트하세요.

콘솔에서 티켓 제출
Xcode 빌드

모든 빌드에서 버전·입력·산출물·실패 지점을 확인할 수 있게 하세요

그래픽 인터페이스에서 빌드된다고 CI에서 재현 가능한 것은 아닙니다. 정식 연결 전에 명령줄 clean build를 한 번 이상 완료하고 버전, 매개변수, 종료 코드와 전체 로그를 보관하세요.

버전 확인

실행 xcodebuild -version와 함께 xcode-select -p 출력도 기록해 명령줄 도구가 잘못된 디렉터리를 가리키지 않게 하세요.

서명 자료 가져오기

현재 프로젝트에 필요한 인증서와 프로비저닝 프로파일만 가져오세요. 키체인 권한을 제한하고 비밀번호는 관리되는 변수로 제공하며 스크립트와 로그에 기록하지 마세요.

DerivedData 관리

파이프라인에 예측 가능한 디렉터리를 지정하세요. 캐시 문제를 점검할 때는 먼저 용량을 기록한 뒤 대상 프로젝트에 해당하는 내용만 정리하고 전체 디스크 삭제를 기본 작업으로 삼지 마세요.

병렬 빌드 제어

단일 작업으로 기준을 만든 뒤 병렬 작업을 단계적으로 늘리세요. 메모리, 디스크와 빌드 시간을 관찰하고 여러 작업이 같은 파생 데이터 디렉터리를 사용하지 않게 하세요.

로그 내보내기

사용 tee 를 사용해 원본 출력을 저장하고 종료 코드, 커밋 해시, Scheme, 대상 플랫폼과 산출물 경로를 기록하면 재현이 쉬워집니다.

권장 기준 기록

성공한 빌드마다 최소 8개 항목을 남기세요

  • 커밋 해시
  • Xcode 버전
  • Scheme
  • 대상 플랫폼
  • 의존성 잠금 파일
  • 시작 및 종료 시간
  • 종료 코드
  • 산출물 경로
CI/CD 연결

네 가지 Runner, 하나의 연결 점검 기준

어떤 오케스트레이션 도구를 사용하든 실행 계정, 작업 디렉터리, 태그, 키 출처, 동시 실행 한도, 로그 위치와 정리 작업을 명확히 해야 합니다.

GH
GitHub Actions

셀프 호스팅 Runner 체크리스트

  • 칩, 용도와 환경을 나타낼 수 있는 태그를 Runner에 설정
  • 해당 Runner를 호출할 수 있는 저장소와 워크플로 범위 제한
  • 작업 시작 시 Xcode 및 의존성 버전 출력
  • 관리되는 시크릿 주입을 사용하고 민감한 변수 에코 금지
  • 작업 종료 후 임시 키체인, 아카이브와 작업 디렉터리 정리
GL
GitLab CI

Runner 등록 체크리스트

  • 전용 태그로 macOS 작업을 대상 장치에 라우팅
  • 보호된 변수가 허용된 브랜치와 환경에서만 사용되는지 확인
  • 빌드 디렉터리를 고정해 프로젝트 간 민감한 캐시 공유 방지
  • 산출물과 로그의 명확한 보존 범위 설정
  • 작업 취소 후 하위 프로세스와 임시 파일이 종료되는지 확인
JK
Jenkins

Agent 노드 체크리스트

  • 장치 성능에 따라 노드 태그와 실행기 수 설정
  • 자격 증명을 특정 Job에 연결하고 전역 환경에 넣지 않기
  • 워크스페이스, 캐시와 아카이브 디렉터리의 용량 점검 설정
  • Pipeline에서 사용하는 도구 버전과 매개변수 기록
  • 실패 후 필요한 로그를 아카이브한 뒤 안전하게 정리
FL
Fastlane

자동화 Lane 체크리스트

  • Bundler로 Fastlane과 플러그인 버전 고정
  • 테스트, 아카이브와 배포를 별도로 검증 가능한 lane으로 분리
  • 실행 전에 환경 변수가 완전한지 확인하되 값을 출력하지 않기
  • 아카이브, 내보낸 파일과 로그의 저장 위치 명확히 지정
  • 배포 작업이 없는 흐름부터 검증한 뒤 정식 단계 활성화
스토리지와 장치 함께 구성

작업 세트 크기에 맞춰 용량을 선택하고 캐시를 장기 데이터로 취급하지 마세요

기본 SSD는 코드, 의존성과 일반 빌드에 적합하며 확장 용량은 대형 리소스, 여러 병렬 워크스페이스와 보관이 필요한 빌드 산출물에 적합합니다. 중요한 데이터는 별도로 백업해야 합니다.

256GB / 512GB

기본 SSD 옵션

MiniRent M4 Core는 256GB SSD, MiniRent M4 Plus는 512GB SSD를 제공합니다. 코드 저장소, 의존성, 툴체인과 용량을 관리할 수 있는 빌드 캐시에 적합합니다.

  • DerivedData와 아카이브 디렉터리를 정기적으로 점검
  • 빌드 산출물 업로드 후 로컬 사본 정리
  • 다시 생성할 수 있는 캐시를 장기 파일로 보관하지 않기
+1TB SSD

중형 작업 세트 확장

여러 활성 저장소, 대형 미디어 리소스 또는 더 많은 빌드 산출물을 보관해야 하는 팀에 적합합니다.

일일
$3
주간
$8
월간
$14.8
분기
$40.3
+2TB SSD

대형 리소스 및 아카이브 확장

대형 모델, 여러 워크스페이스, 장기간 빌드 산출물 보관 또는 대용량 테스트 데이터에 적합합니다.

일일
$6
주간
$16
월간
$29.6
분기
$80.6
Thunderbolt 5

물리 장치 연결

장치 간 고속 연결이 필요한 실험과 데이터 교환에 적합하며, 연결에 참여하는 장치별로 요금이 부과됩니다.

일일/장치
$1.8
주간/장치
$4.8
월간/장치
$8.9
분기/장치
$24.2
주문 전에 최대 작업 세트 용량을 먼저 계산하세요

코드, 의존성, 모델 또는 미디어 리소스, 빌드 캐시, 아카이브 산출물과 안전 여유 공간을 각각 계산하세요. 추가 옵션과 실제 이용 가능 여부는 콘솔의 실시간 결과를 기준으로 합니다.

장치 및 스토리지 구성
기술 콘텐츠 계획

작업 유형별로 계속 읽기

다음 주제는 실제 배포, 툴체인 복구와 하드웨어 선택을 중심으로 정리했습니다. 태그로 주제를 좁혀 보고, 게시 후에는 기술 블로그에서 한곳에서 확인할 수 있습니다.

AI 및 MLX

MiniRent 실전: 클라우드 Mac에서 AI 모델 추론 배포

Apple Silicon 구성 선택부터 MLX 환경 설치, 원격 추론 서비스 실행까지 모델 준비, 성능 모니터링, 포트 보호와 결과 내보내기의 전체 경로를 정리합니다.

콘텐츠 계획 · 배포 실습
아키텍처 선택

클라우드 macOS와 로컬 개발: 팀에 맞는 선택은?

장치 독점성, 제공 속도, 원격 협업, 툴체인 일관성, 관리 부담과 업그레이드 유연성의 6가지 관점으로 의사결정 프레임워크를 세웁니다.

콘텐츠 계획 · 팀 의사결정
Xcode 빌드

MiniRent Xcode 클라우드 빌드 완벽 가이드

원격 연결, Xcode 버전 확인, 의존성 복구, 서명 자료 가져오기, 명령줄 빌드와 로그 아카이브를 단계별로 진행하고 일반적인 컴파일 실패의 점검 순서도 제공합니다.

콘텐츠 계획 · 빌드 가이드
하드웨어 선택

Mac mini와 Mac Studio 선택: 사양보다 워크로드를 먼저 확인하세요

Xcode 병렬 빌드, 지속적 통합, 메모리 부담, AI 추론과 외장 스토리지 요구 사항을 바탕으로 측정 가능한 작업 지표로 결정하는 방법을 설명합니다.

콘텐츠 계획 · 사양 평가
원격 개발

처음부터 MiniRent 원격 Mac 개발 환경 구축하기

SSH 키, 원격 데스크톱, 코드 동기화, 개발 도구 설치, 인증서 관리와 세션 보안을 다루며 개발자의 일상 워크플로 이전을 지원합니다.

콘텐츠 계획 · 환경 구축
AI 및 MLX

MLX 입문: 클라우드 Mac에서 첫 추론 실험 완료하기

MLX 환경 준비, 모델 가져오기, 기본 추론, 메모리 모니터링과 결과 저장 방법을 소개하고 원격 실험의 자격 증명 보호, 데이터 동기화와 리소스 해제 권장 사항도 다룹니다.

콘텐츠 계획 · 입문 실험

현재 모든 주제 6개를 표시하고 있습니다.

문제 해결 및 문의

먼저 증거를 수집한 뒤 정리·재시도·티켓 제출을 결정하세요

티켓에는 정확한 시간, 장치 식별자, 실행 명령, 종료 코드, 재현 단계와 민감 정보를 제거한 로그를 제공하세요. 일반적인 ‘사용할 수 없음’보다 훨씬 빠르게 실질적인 점검을 시작할 수 있습니다.

장치에 연결할 수 없을 때 어떤 순서로 확인해야 하나요?
  1. 콘솔에서 현재 장치 주소, 포트, 사용자 이름과 장치 상태를 확인합니다.
  2. 연결 시간 초과, 연결 거부, 지문 변경과 키 거부의 네 가지 오류를 구분합니다.
  3. 대상 포트에 접근할 수 있는 것으로 알려진 다른 네트워크에서 비교 테스트를 한 번 실행합니다.
  4. 상세 모드로 SSH 협상 단계를 기록하되 제출 전에 장치 주소와 민감한 필드를 삭제합니다.
  5. 계속 연결할 수 없다면 문제 발생 시간, 네트워크 위치와 오류 일부를 첨부해 티켓을 제출합니다.
Xcode 빌드가 갑자기 실패하면 먼저 무엇을 확인해야 하나요?
  1. 실패한 커밋, Xcode 버전, Scheme, 대상 플랫폼과 전체 종료 코드를 기록합니다.
  2. 의존성 잠금 파일이 변경되었는지, 패키지 소스와 네트워크 요청이 성공했는지 확인합니다.
  3. 서명 자료, 키체인 권한과 프로비저닝 프로파일이 여전히 대상과 일치하는지 확인합니다.
  4. 격리된 DerivedData 디렉터리에서 clean build를 한 번 실행합니다.
  5. 최근 성공 로그와 비교해 마지막 요약 줄이 아니라 최초의 실제 오류를 찾습니다.
디스크 공간이 부족할 때 무엇을 정리해야 하나요?
  1. 먼저 워크스페이스, DerivedData, 아카이브, 시뮬레이터 데이터와 의존성 캐시의 사용량을 집계합니다.
  2. 보관해야 하는 빌드 산출물을 팀이 지정한 위치에 업로드하고 무결성을 확인합니다.
  3. 다시 생성할 수 있는 캐시와 업로드가 확인된 오래된 아카이브부터 삭제합니다.
  4. CI가 실패한 작업 때문에 정리 단계를 건너뛰었는지 확인합니다.
  5. 작업 세트가 장기간 계속 증가하면 +1TB SSD 또는 +2TB SSD를 검토합니다.
원격 작업 지연이 증가하면 로컬 네트워크와 노드 경로를 어떻게 구분하나요?
  1. 문제 발생 시간, 현재 연결 도시, 통신사와 접속 방식을 기록합니다.
  2. 유선 네트워크와 무선 네트워크를 비교해 로컬 패킷 손실과 신호 변동을 배제합니다.
  3. SSH 상호 작용, 원격 데스크톱과 파일 전송을 각각 관찰해 특정 프로토콜만 비정상인지 확인합니다.
  4. 업로드 대역폭을 사용하는 대용량 파일 동기화를 중지한 뒤 비교 테스트를 다시 실행합니다.
  5. 티켓 제출 시 한 번의 최고치가 아니라 여러 테스트의 중앙값 성능을 제공합니다.
명령은 실행되지만 읽기·쓰기 또는 서명 권한이 실패하면 어떻게 처리하나요?
  1. 현재 실행 사용자와 파일 소유자를 확인하고 먼저 고권한 명령으로 우회하지 마세요.
  2. 작업 디렉터리, 키체인, 스크립트와 빌드 산출물 디렉터리에 필요한 최소 권한을 확인합니다.
  3. CI Runner와 수동 로그인이 서로 다른 사용자 또는 환경 변수를 사용하는지 확인합니다.
  4. 스크립트 실행 권한, 경로의 대소문자와 마운트 볼륨 권한을 재검토합니다.
  5. 티켓 제출 전에 인증서 이름, 토큰과 전체 경로의 민감한 정보를 삭제합니다.

독립 물리 Mac mini로 빌드 작업을 이전할 준비가 되셨나요?

먼저 M4 구성, 대여 기간과 노드를 선택한 뒤 이 페이지의 체크리스트에 따라 연결, 툴체인 복구와 CI Runner 연결을 완료하세요. 실제 이용 가능 여부와 제공 상태는 콘솔의 실시간 결과를 기준으로 합니다.