실행 가능한 엔지니어링 지원

클라우드 Mac 연결부터 빌드 산출물 전달까지 단계별 문제 해결

개념만 설명하는 문서가 아닙니다. 각 가이드는 준비 항목, 실행 단계, 검증 결과와 실패 시 보존해야 할 로그를 제공합니다. SSH, VNC 원격 데스크톱, Xcode, fastlane, 셀프 호스팅 Runner 및 청구 관리에 적용할 수 있습니다.

4 가이드 유형 5 서비스 노드 365 일 연중 정상 운영
build-diagnostics 검사 통과
연결 방식 SSH / VNC
빌드 도구 Xcode / fastlane
실행 아키텍처 Apple Silicon
$ xcodebuild -version Xcode 16.x $ uname -m arm64 $ df -h / volume check: ready
환경을 먼저 검증한 후 전체 파이프라인을 실행하세요 실패 원인을 연결, 의존성, 서명 또는 동시성 중 하나로 좁혀 보세요.
지원 센터 검색

작업별로 필터링하고 처음부터 읽지 마세요

현재 처리 중인 작업을 선택하거나 SSH, 아카이브, 서명, Runner, 노드, 청구 등의 키워드를 입력하세요. 필터는 색인 카드만 변경하며 전체 단계는 이 페이지 아래에 그대로 표시됩니다.

장치 연결

SSH 및 VNC 최초 연결

공개 키를 준비하고 호스트 지문과 arm64 환경을 확인한 뒤 그래픽 세션을 안전하게 종료하세요.

예상 10분
개발 환경 구성

Xcode 선택 및 의존성 설치

툴체인 버전을 고정하고 명령줄 경로를 검증한 다음 잠금 파일에 따라 Ruby, Pods 또는 Swift Package 의존성을 복원하세요.

예상 15분
빌드 실행

아카이브 실행 및 산출물 내보내기

명시적으로 지정한 workspace, scheme 및 destination으로 아카이브를 실행하고 xcresult와 내보내기 로그를 저장하세요.

예상 20분
빌드 실행

fastlane 자동화 및 정리

민감한 변수를 작업 중에만 주입하고 고정 lane을 실행한 뒤 산출물을 저장하고 임시 파일과 프로세스 환경을 삭제하세요.

예상 20분
빌드 실행

셀프 호스팅 Mac Runner 연결

전용 Runner를 등록하고 저장소 범위를 제한하며 기능 태그를 설정한 뒤 각 작업 후 작업 디렉터리를 정리하세요.

예상 25분
개발 환경 구성

빌드 장애 5가지 점검

네트워크, 디스크, 서명 자료, 의존성 캐시 및 동시성을 순서대로 확인하고 여러 변수를 동시에 변경하지 마세요.

예상 15분
장치 연결

노드 선택 및 마이그레이션 신청

개발자, 코드 저장소 및 파이프라인 서비스의 위치를 기준으로 5개 노드 중 하나를 선택하고 티켓으로 마이그레이션을 신청하세요.

예상 5분
청구 관리

주문 및 추가 구매 항목 확인

청구 기록을 찾을 수 있도록 주문 식별자, 대여 기간, 노드 및 스토리지 또는 Thunderbolt 5 병렬 연결 항목을 제출하세요.

준비할 정보 4가지
청구 관리

전문 지원으로 에스컬레이션

콘솔 티켓 또는 지원 이메일로 장치 식별자, 노드, 시간 범위 및 비식별화 로그를 제출하세요.

연락 경로 2가지
연결 가이드

신뢰할 수 있는 연결을 먼저 설정한 후 환경을 구성하세요

연결 정보는 콘솔에 표시된 내용을 기준으로 하세요. 개인 키, 일회용 자격 증명 또는 전체 연결 명령을 공개 저장소, 빌드 로그나 팀 채널에 붙여넣지 마세요.

SSH 명령줄 연결

  1. 1
    로컬 공개 키 준비

    암호로 보호되는 별도 키를 우선 사용하세요. 공개 키만 업로드하고 티켓이나 이메일로 개인 키를 보내지 마세요.

  2. 2
    연결 정보 확인

    콘솔에서 장치 식별자, 노드, 호스트 주소, 포트 및 사용자 이름을 확인하여 이전 대여 기록을 재사용하지 마세요.

  3. 3
    호스트 지문 검증

    최초 연결 전에 콘솔에서 제공한 지문과 비교하세요. 지문이 다르면 연결을 중지하고 티켓을 제출하세요. 로컬 기록을 바로 덮어쓰지 마세요.

  4. 4
    기본 점검 실행

    실행 uname -mxcodebuild -versiondf -h /을 실행하고 아키텍처, 툴체인 및 디스크 여유 공간을 기록하세요.

VNC 원격 데스크톱 연결

  1. 1
    SSH 사용 가능 여부 먼저 확인

    그래픽 연결에 실패하면 SSH로 프로세스, 디스크 및 네트워크 상태를 확인하세요. 먼저 호스트 지문을 검증합니다.

  2. 2
    콘솔에서 세션 정보 가져오기

    현재 장치에 해당하는 VNC 진입점과 임시 자격 증명을 사용하고 브라우저 동기화, 공유 문서 또는 파이프라인 변수에 저장하지 마세요.

  3. 3
    그래픽 환경 확인

    로그인 후 해상도, 키보드 레이아웃, Xcode 실행 상태 및 사용 가능한 저장 공간을 확인한 다음 서명이나 아카이브 작업을 시작하세요.

  4. 4
    세션 종료 및 정리

    실행 중인 개발 도구를 종료하고 임시 다운로드와 평문 자격 증명을 삭제한 뒤 원격 데스크톱 세션을 닫으세요.

자격 증명 관리 원칙:팀원은 각자 통제된 접근 방식을 사용해야 합니다. 구성원이 프로젝트를 떠나면 해당 공개 키와 파이프라인 토큰을 철회하세요. 로컬 SSH 설정만 변경해서는 안 됩니다.
Xcode 빌드 가이드

버전, 의존성 및 내보내기 매개변수를 명시해야 빌드를 재현할 수 있습니다

그래픽 인터페이스에서 마지막으로 선택한 scheme에 의존하지 마세요. 자동화 작업에서는 Xcode 경로, workspace, scheme, configuration, destination 및 내보내기 설정을 명시해야 합니다.

01

Xcode 버전 선택 및 검증

프로젝트 요구 사항을 먼저 확인한 후 xcode-select 로 대상 버전을 지정하세요. 그런 다음 xcodebuild -versionxcrun swift --version을 각각 실행하고 출력을 빌드 로그의 시작 부분에 기록하세요.

02

잠금 파일에 따라 의존성 설치

Ruby 프로젝트는 먼저 bundle install을 실행하고 Pods 프로젝트는 잠금 파일에 따라 복원하세요. Swift Package는 먼저 의존성을 확인합니다. 캐시는 속도를 높일 뿐이며 잠금 파일의 버전 제약을 대신할 수 없습니다.

03

아카이브 작업 실행

DerivedData와 archivePath를 현재 작업 전용 디렉터리로 지정하세요. 동시 작업이 같은 출력 경로를 공유하면 인덱스, 캐시 또는 아카이브 파일이 서로 덮어쓸 수 있습니다.

04

산출물 내보내기 및 검증

버전 관리되는 내보내기 설정으로 내보내기를 실행하세요. 명령 종료 코드, 산출물 파일, 서명 결과 및 dSYM을 검증한 후 통제된 전달 디렉터리로 복사하세요.

05

추적 가능한 로그 저장

최소한 일반 텍스트 빌드 출력, 내보내기 로그 및 xcresult를 저장하세요. 파일명에는 파이프라인 작업 식별자를 포함하되 액세스 토큰, 개인 키 또는 전체 서명 자료는 포함하지 마세요.

archive.sh
xcode-select -p
xcodebuild -version
xcrun swift --version

bundle install
bundle exec pod install

xcodebuild archive \
  -workspace App.xcworkspace \
  -scheme App \
  -configuration Release \
  -destination "generic/platform=iOS" \
  -archivePath output/App.xcarchive \
  -resultBundlePath output/App.xcresult

xcodebuild -exportArchive \
  -archivePath output/App.xcarchive \
  -exportPath output/export \
  -exportOptionsPlist ExportOptions.plist
입력 저장소, 잠금 파일, 통제된 환경 변수 실행 위치 전용 클라우드 Mac 산출물 아카이브, 내보낸 파일, xcresult, 비식별화 로그
fastlane 자동화 가이드

민감한 변수는 작업 중에만 존재해야 합니다

fastlane은 빌드 단계를 조율해야 하며 키를 장기간 저장해서는 안 됩니다. 서명 자료, 저장소 토큰 및 업로드 자격 증명은 통제된 변수로 주입하고 작업 종료 후 삭제하세요.

INPUT

키 및 서명 설정 주입

작업 시작 시 필요한 최소 범위의 변수를 주입하세요. 임시 파일은 작업 전용 디렉터리에 저장하고 권한을 제한하며 명령 출력으로 변수 값이 노출되지 않도록 하세요.

  • 변수 이름은 기록할 수 있지만 값은 로그에 남기지 마세요
  • 서명 설정과 프로젝트 브랜치의 매핑을 명확히 유지하세요
  • 임시 디렉터리를 후속 작업에서 재사용하지 마세요
RUN

고정 lane 실행

다음 명령으로 bundle exec fastlane Ruby 및 gem 버전을 고정하세요. lane 안에 scheme, 내보내기 방식, 출력 디렉터리 및 실패 종료 조건을 명확히 지정해야 합니다.

  • 빌드 전에 도구 버전을 출력하되 자격 증명은 출력하지 마세요
  • 실패 시 현재 작업의 로그와 xcresult를 보존하세요
  • 재시도 전에 환경 문제인지 코드 문제인지 판단하세요
CLEAN

산출물 저장 및 정리

먼저 아카이브, 내보낸 파일 및 로그를 통제된 위치로 복사한 후 임시 서명 파일, 환경 파일, 다운로드 캐시 및 작업 디렉터리를 삭제하세요.

  • 산출물이 존재하고 파일 크기가 적절한지 확인하세요
  • 셸 기록에서 민감한 명령을 삭제하세요
  • 백그라운드에 남은 빌드 프로세스가 없는지 확인하세요
bundle exec fastlane ios archive 의존성 버전 고정 독립 출력 디렉터리 실패 시 0이 아닌 종료 코드 반환
CI/CD 통합 가이드

클라우드 Mac을 통제된 실행 노드로 파이프라인에 연결하세요

Runner는 명확한 저장소 또는 프로젝트 범위에 연결해야 합니다. 신뢰할 수 없는 브랜치의 작업이 프로덕션 서명 자료를 자동으로 사용하지 못하게 하고, 보안 수준이 다른 작업이 같은 작업 디렉터리를 공유하지 않게 하세요.

GitHub Actions

셀프 호스팅 Runner 연결 절차

  1. 범위 결정

    팀 권한 모델에 따라 저장소 수준 또는 조직 수준 Runner를 선택하고 호출 가능한 프로젝트를 제한하세요.

  2. 전용 시스템 사용자 생성

    Runner 프로세스에서 일상적인 관리자 계정을 사용하지 마세요. 작업 디렉터리와 빌드 도구에 필요한 권한만 부여하세요.

  3. 기능 태그 설정

    태그에는 아키텍처, Xcode 주 버전 및 작업 유형을 표시하여 워크플로가 노드를 정확히 선택하게 하세요.

  4. 직렬 또는 병렬 전략 구성

    하나의 작업 디렉터리는 동시에 하나의 작업만 처리해야 합니다. 동시 실행이 필요하면 별도 디렉터리 또는 별도 장치를 사용하세요.

  5. 작업 후 정리

    임시 변수 파일, 서명 자료 및 업로드하지 않은 산출물을 삭제하고 잔여 프로세스를 확인한 후 다음 작업을 받으세요.

일반적인 파이프라인 시스템

Agent 또는 SSH 실행기로 연결

  1. 단방향 작업 진입점 설정

    파이프라인에서 클라우드 Mac으로 작업을 전달하고 장치 관리 자격 증명을 저장소 설정에 기록하지 마세요.

  2. 명령 및 디렉터리 제한

    빌드 사용자는 지정된 저장소, 캐시 및 출력 경로만 이용하게 하고 관리 작업에는 별도의 권한 경로를 사용하세요.

  3. 툴체인 사전 점검

    정식 빌드 전에 아키텍처, Xcode, Ruby, 의존성 관리자 및 디스크 여유 공간을 검증하세요. 사전 점검에 실패하면 작업을 중지합니다.

  4. 종료 코드 통일

    의존성 설치, 테스트, 아카이브 및 내보내기 중 어느 단계라도 실패하면 0이 아닌 상태를 반환하여 파이프라인이 성공으로 오판하지 않게 하세요.

  5. 업로드 후 정리

    산출물과 로그가 업로드되었는지 확인한 후 작업 디렉터리를 정리하세요. 티켓과 연결할 수 있도록 작업 식별자를 보존하세요.

동시성 권장 사항:기본 구성은 M4, 16GB, 256GB로 가벼운 빌드와 단일 프로젝트 서명에 적합합니다. Pro 구성은 M4 Pro, 64GB, 2TB으로 높은 동시성 빌드와 대규모 의존성 캐시에 더 적합합니다. 최종 선택은 단일 빌드의 최대 메모리, 병렬 작업 수 및 캐시 크기를 기준으로 하세요.
장애 진단 체크리스트

한 번에 하나의 변수만 제외하세요

먼저 실패한 작업 식별자와 시간 범위를 기록한 뒤 네트워크, 디스크, 서명, 캐시, 동시성 순서로 확인하세요. 각 단계의 검증 결과를 보존하여 환경을 반복해서 재설치하지 않도록 합니다.

네트워크 및 연결 시간 초과 점검

먼저 로컬 네트워크에서 장치 포트에 연결할 수 있는지 확인한 후 DNS, 프록시, SSH 호스트 지문 및 시스템 시간을 점검하세요. 연결 시작 시간, 종료 시간 및 오류 원문을 각각 기록합니다. SSH는 되지만 VNC가 되지 않으면 그래픽 세션 프로세스를 확인하고 개발 환경 전체를 먼저 초기화하지 마세요.

ssh -v user@host
디스크 공간 부족 또는 아카이브 쓰기 실패

다음 명령으로 df -h / 볼륨 여유 공간을 확인한 후 DerivedData, 의존성 캐시, 이전 archive 및 시뮬레이터 데이터를 점검하세요. 큰 디렉터리를 먼저 찾고 재생성 가능한 캐시만 삭제하세요. 빌드 중 사용 중인 디렉터리는 정리하지 마세요.

du -sh ~/Library/Developer/*
서명 인증서 또는 설정 불일치

프로젝트 식별자, 빌드 설정, 내보내기 방식, 인증서 유효성 및 프로비저닝 프로파일 매핑을 확인하세요. 파이프라인이 현재 작업에 필요한 자료를 주입하는지 확인하고 시스템 시간도 점검합니다. 로그 제출 시 오류 유형과 매칭 과정을 남기되 인증서 내용, 개인 키 및 토큰은 숨기세요.

security find-identity -v -p codesigning
의존성 캐시로 인한 버전 변경 또는 컴파일 오류

먼저 잠금 파일과 로그의 실제 버전을 비교하세요. 공유 캐시 없이 새 작업 디렉터리에서 한 번 빌드한 뒤 문제가 사라지면 Swift Package, Pods, Ruby 및 DerivedData 캐시를 단계적으로 복원하여 오염 원인을 찾으세요.

swift package resolve
빌드 동시성으로 인한 리소스 경합

동시에 실행되는 xcodebuild, 테스트 및 의존성 프로세스와 각 작업의 출력 디렉터리를 확인하세요. 동시성을 낮춰 다시 테스트하면서 최대 메모리, 디스크 쓰기 및 작업 시간을 관찰합니다. 여러 작업이 archivePath, resultBundlePath 또는 임시 서명 디렉터리를 공유해서는 안 됩니다.

ps -axo pid,%cpu,%mem,command
노드 및 가용성

5개 노드 모두 2가지 전용 물리 머신 구성을 지원합니다

싱가포르, 일본(도쿄), 한국(서울), 홍콩, 미국 동부에서 연중 365일 정상 운영됩니다. 카탈로그 조합은 일반적으로 주문할 수 있으며 실제 가용성은 콘솔의 실시간 응답을 기준으로 합니다.

5개 노드의 MiniRents 2가지 모델 카탈로그 및 선택 가이드
노드 우선 고려할 팀 위치 MiniRents M4 MiniRents M4 Pro 선택 가이드
싱가포르SG 동남아 팀 및 인접 코드 저장소 충분 충분 개발자에서 노드까지, 저장소에서 노드까지의 연결 안정성을 우선 비교하세요.
일본(도쿄)JP 일본 및 동아시아 팀 충분 충분 코드 저장소와 협업 구성원이 주로 동아시아에 있는 워크플로에 적합합니다.
한국(서울)KR 한국 및 인접 동아시아 팀 충분 충분 선택 전에 실제 사무실 네트워크에서 SSH 안정성을 테스트할 수 있습니다.
홍콩HK 중국 남부 및 동남아 협업 팀 충분 충분 여러 아시아 협업 위치를 함께 고려해야 하는 팀에 적합합니다.
미국 동부US-E 북미 동부 및 서유럽 팀 충분 충분 저장소, 산출물 서비스 또는 주요 구성원이 북미 동부에 가까운 워크플로에 적합합니다.
01

대화형 연결부터 확인

VNC를 자주 사용한다면 개발자에서 노드까지의 안정성을 우선 고려하세요. 파이프라인만 자동 실행한다면 저장소와 산출물 서비스의 위치가 더 중요합니다.

02

데이터 흐름 확인

의존성 다운로드, 저장소 가져오기 및 산출물 업로드는 모두 네트워크를 사용합니다. 주요 데이터 소스와 실행 노드를 연결이 더 안정적인 경로에 배치하세요.

03

티켓으로 마이그레이션 신청

현재 장치 식별자, 현재 노드, 대상 노드, 희망 시간 범위 및 마이그레이션 사유를 제출하세요. 처리 결과와 후속 단계는 콘솔 티켓 기록을 기준으로 합니다.

전문 지원으로 에스컬레이션

가이드로 해결되지 않으면 재현 가능한 문제 기록을 제출하세요

기술 문제는 장치 및 주문과 연결할 수 있도록 콘솔 티켓을 우선 사용하세요. 콘솔에 로그인할 수 없거나 영업 전 구성 평가, 청구, 보안 및 팀 배포 상담이 필요하면 이메일을 보내세요.

콘솔 티켓

연결 중단, 장치 상태, 빌드 환경, 노드 마이그레이션, 주문 및 청구 문제에 적합합니다. 티켓은 현재 장치 또는 주문에 연결하고 재현 가능한 정보를 제공해야 합니다.

  • 장치 식별자 및 현재 노드
  • 문제가 발생한 시간 범위
  • 실행 단계 및 예상 결과
  • 오류 원문 및 비식별화 로그
  • 완료한 점검 항목
콘솔에서 티켓 제출

지원 이메일

콘솔 로그인 불가, 영업 전 구성 평가, 팀 배포, 보안 보고서 및 일반 상담에 적합합니다. 제목에 문제 유형을 명시하고 본문에 비밀번호, 개인 키 또는 전체 토큰을 포함하지 마세요.

  • 연락처 이름 및 업무용 이메일
  • 상담 유형 및 목표 워크플로
  • 희망 노드 및 빌드 동시성
  • 보안 보고서의 재현 단계 및 영향 범위
  • 청구 문제에 해당하는 주문 식별자 및 추가 구매 항목
support@minirents.com
청구 정보

청구 문제 제출 시 4가지 항목을 명확히 작성하세요

주문 식별자, 대여 기간, 노드, 스토리지 확장 또는 Thunderbolt 5 병렬 연결 항목을 제공하세요. 결제는 USDT-TRC20 및 Visa / Mastercard / Amex(Stripe)만 지원하며 모든 요금은 미국 달러(USD)로 결제됩니다. 실제 사용 가능한 게이트웨이는 백엔드 인터페이스 응답을 기준으로 합니다.

빌드 시작 준비

전용 클라우드 Mac을 선택하고 첫 파이프라인을 완료하세요

2가지 모델, 4가지 대여 기간 및 5개 노드 중에서 선택할 수 있습니다. 장치는 전용 물리 머신이며 가상 머신이 아닙니다. 시작가는 $21.5/일입니다.