원인 파악부터 시작

빌드 작업을 계속 진행하세요

연결, 툴체인, 코드 서명, 요금을 확인하세요. 먼저 아래 명령어와 유의사항을 살펴보고, 해결되지 않으면 노드 정보와 민감 정보를 가린 로그를 지원팀에 보내 주세요.

대여한 노드 관련 문의는 인스턴스와 청구 내역을 확인할 수 있도록 주문 계정으로 제출해 주세요.

문제가 발생한 단계부터 확인

문제가 발생한 단계에 맞는 항목부터 확인하세요. 전체 파이프라인을 먼저 변경할 필요는 없습니다. 최소 재현 작업이 통과하는지부터 살펴보세요.

계정 및 결제

주문 계정 이메일, 대여 기간, 청구 상태를 확인하세요. 갱신 전에 인스턴스와 기간을 확인하고, 결제 후에는 콘솔에 표시되는 결과를 기준으로 삼으세요.

연결 및 원격 데스크톱

먼저 SSH 연결 불가, 인증 실패, 그래픽 인터페이스 연결 실패를 구분하세요. 구체적인 오류를 기록하고 티켓에 로그인 비밀번호를 붙여 넣지 마세요.

Xcode 및 코드 서명

현재 개발자 디렉터리를 확인한 다음 인증서 개인 키, 프로비저닝 프로파일, Target을 점검하세요. 툴체인과 코드 서명 문제는 각각 따로 확인하세요.

CI/CD 연동

runner의 실행 사용자, 라벨, 작업 디렉터리를 확인하세요. 수동 작업이 통과한 뒤 자동 트리거와 자격 증명 주입을 설정하세요.

데이터 및 재설치

소스 코드, 캐시, 키를 구분하세요. 재설치 전에 필요한 데이터를 노드 외부에 백업하고 실제로 복원할 수 있는지 확인하세요.

명령어 하나로 확인

빌드 서버 자주 묻는 질문

아래 경로, Scheme, 프로젝트 이름은 명령어 예시입니다. 실행 전에 프로젝트 정보에 맞게 바꾸세요. 권한이나 인증서가 관련된 작업은 테스트 작업 하나로 먼저 확인하세요.

xcode-select로 여러 Xcode 버전을 전환하려면 어떻게 하나요?

현재 개발자 디렉터리와 버전을 확인하고, 사용할 Xcode가 설치되어 있는지 확인하세요. 아래 예시는 시스템 기본 디렉터리를 /Applications/Xcode.app로 변경합니다. 다른 버전을 사용하려면 실제 앱 경로로 바꾸세요.

xcode-select -p
xcodebuild -version
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcodebuild -version
xcrun --find swift

시스템 전체 설정을 변경하면 이후 시작되는 다른 작업에도 영향을 줍니다. 파이프라인마다 다른 버전을 사용해야 한다면 작업 환경에서 DEVELOPER_DIR를 설정하세요. 두 작업이 전역 디렉터리를 번갈아 변경하지 않도록 하세요.

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
xcodebuild -list -workspace MyApp.xcworkspace

전환 후 Scheme 목록을 확인하고 Archive를 한 번 실행하세요. 플랫폼 구성 요소가 없거나 최초 실행 설정이 필요한 경우 macOS 그래픽 인터페이스에서 해당 툴체인을 초기화한 뒤 자동화 작업을 다시 실행하세요.

배포 인증서와 프로비저닝 프로파일은 어떻게 가져오나요?

개인 키가 포함된 인증서 내보내기 파일과 해당 파일의 비밀번호, 앱 식별자 및 배포 방식에 맞는 프로비저닝 프로파일을 준비하세요. 인증서만 있고 해당 개인 키가 없으면 코드 서명을 완료하기 어렵습니다.

  1. 빌드 작업을 실행하는 macOS 사용자로 로그인한 상태에서 ‘키체인 접근’을 열고 해당 사용자의 키체인에 인증서를 가져오세요.
  2. 인증서를 펼쳐 연결된 개인 키가 있는지 확인하세요. 아래 명령어로 유효한 코드 서명 ID를 확인할 수 있습니다.
  3. 사용 중인 Xcode 버전의 요구사항에 맞춰 프로비저닝 프로파일을 설치하세요. 프로젝트 서명 설정에서 Team, Bundle Identifier, 배포 방식을 확인하세요.
  4. App, Widget, Extension의 서명 설정을 각각 확인한 다음 Archive와 내보내기를 테스트하세요.
security find-identity -v -p codesigning

CI 실행 사용자의 키체인 환경은 원격 데스크톱 사용자와 다를 수 있습니다. 무인 빌드에서는 작업 내에서 키체인을 올바르게 잠금 해제하고 필요한 접근 권한을 설정해야 합니다. 비밀번호는 CI의 보호된 변수에서 가져오고 저장소, 명령 출력, 티켓에는 기록하지 마세요.

수동 빌드는 통과하지만 CI에서 실패한다면 실행 사용자와 키체인 상태를 우선 비교하세요. 코드 서명 오류를 문의할 때는 인증서 유형, 유효 기간, 민감 정보를 가린 오류 줄만 제공하세요. 개인 키나 인증서 비밀번호는 업로드하지 마세요.

시스템을 재설치하면 노드의 데이터가 보존되나요?

재설치를 파일 보존 작업으로 간주하지 마세요. 시스템과 작업 디렉터리가 삭제될 수 있습니다. 요청을 제출하기 전에 콘솔 티켓으로 처리 범위를 확인하고 노드 외부에 백업하세요. 대여 기간이 끝나면 노드 디스크가 초기화되므로 만료된 노드에서 데이터를 복구할 수 없습니다.

백업에는 푸시하지 않은 소스 코드, 빌드 설정, 필요한 아티팩트, 프로비저닝 프로파일, 보호가 필요한 키 자료가 포함되어야 합니다. DerivedData나 의존성 다운로드 디렉터리 같은 캐시는 다시 만들 수 있지만, 복구 후 첫 빌드 시간이 길어질 수 있습니다.

백업을 완료했다고 복원이 가능한 것은 아닙니다. 별도의 디렉터리에 백업을 풀고 파일 수와 주요 설정을 확인하세요. 최근 아티팩트를 가져올 수 있는지 검증한 다음 기존 노드의 작업을 중지하세요. 재설치 후 툴체인을 다시 설치하고 서명 환경을 복원한 뒤 runner를 등록하세요.

대여 기간이 끝나기 전에 어떻게 갱신하나요?

주문 계정으로 로그인해 콘솔에서 인스턴스, 만료 시각, 갱신 가능 기간을 확인한 다음 페이지에 표시된 청구 내역에 따라 결제하세요. 갱신 성공 여부와 새 대여 기간은 콘솔에 실시간으로 표시되는 결과를 기준으로 확인하세요. 결제 스크린샷이나 브라우저를 닫기 전 화면만으로 판단하지 마세요.

USDT-TRC20 및 Visa / Mastercard / Amex(Stripe)만 지원하며 모든 결제는 USD로 처리됩니다. 실제 이용 가능한 결제 수단은 백엔드에서 반환하는 정보를 기준으로 합니다. 온체인 결제 전 네트워크, 금액, 수취 정보를 확인하고 카드 결제 후에는 콘솔로 돌아와 청구 내역을 확인하세요.

청구 내역과 인스턴스 상태가 일치하지 않으면 주문 번호, 청구서 번호, 거래 참조 정보를 제출하세요. 상태를 바로잡으려고 중복 결제하지 말고 티켓에 전체 카드 번호를 보내지 마세요. 만료 전에 아티팩트와 필요한 파일을 백업하세요. 갱신 절차를 데이터 백업 수단으로 사용하지 마세요.

SSH 또는 원격 데스크톱에 연결할 수 없을 때 무엇부터 확인해야 하나요?

먼저 콘솔에서 노드 주소, 포트, 사용자 이름, 인스턴스 상태를 확인하세요. 연결 시간 초과와 인증 실패를 구분하세요. 전자는 네트워크 연결 가능성을, 후자는 사용자 이름, 비밀번호 또는 키를 우선 점검하세요. SSH와 VNC는 각각 별도의 연결 정보를 사용하므로 포트를 혼용하지 마세요.

ssh -v -p PORT USER@HOST

다음을 PORT,USER,HOST 에 실제 정보를 입력하세요. 로그에 호스트 지문 변경이 표시되면 신뢰할 수 있는 콘솔 정보나 티켓을 통해 먼저 이유를 확인하세요. 호스트 인증을 바로 비활성화하지 마세요.

원격 데스크톱은 macOS 그래픽 인터페이스, 키체인, Xcode 설정을 확인할 때 적합하고, SSH는 명령줄 작업과 CI에 적합합니다. 로그를 제출하기 전에 사용자 이름, 주소, 로컬 경로의 민감 정보를 지우고 오류 유형과 발생 순서만 남기세요.

self-hosted runner를 등록했는데 작업이 계속 대기하는 이유는 무엇인가요?

다음 네 가지를 확인하세요. runner가 온라인인지, 작업 라벨이 일치하는지, 프로젝트에서 해당 runner 사용을 허용했는지, 프로세스가 올바른 사용자로 실행 중인지 확인하세요. 등록이 완료되었다고 해서 모든 작업이 해당 노드에 자동 할당되는 것은 아닙니다.

툴체인 정보만 출력하는 테스트 작업부터 실행해 사용자, 디렉터리, Xcode 버전을 확인한 다음 의존성 설치와 코드 서명 단계를 추가하세요.

whoami
pwd
xcode-select -p
xcodebuild -version
security find-identity -v -p codesigning

라벨에 macOS 버전, 칩 아키텍처, 용도를 표시하고 프로젝트 설정에서 사용할 runner를 명확히 지정하세요. 처음 연동할 때는 동시 실행을 하나로 제한하세요. 캐시, 키체인, 아티팩트 디렉터리가 서로 덮어쓰지 않는지 확인한 뒤 동시 실행 수를 늘리세요. 등록 토큰은 자격 증명이므로 티켓이나 빌드 로그에 포함하지 마세요.

프로젝트는 컴파일되지만 Archive가 실패합니다. 어떻게 범위를 좁힐 수 있나요?

올바른 workspace, 공유 Scheme, Release 구성을 사용하는지 먼저 확인하세요. Archive와 시뮬레이터 빌드는 서로 다른 경로입니다. 기기 대상의 코드 서명, 아키텍처, 내보내기 설정을 별도로 확인해야 합니다.

xcodebuild -list -workspace MyApp.xcworkspace
xcodebuild archive \
  -workspace MyApp.xcworkspace \
  -scheme MyApp \
  -configuration Release \
  -destination 'generic/platform=iOS' \
  -archivePath build/MyApp.xcarchive

마지막의 ‘실패’ 메시지만 잘라내지 말고 처음 발생한 실제 오류와 주변 내용을 남기세요. 의존성 설치, 스크립트 단계, 코드 서명 단계, 디스크 쓰기를 각각 점검하세요. Archive가 성공해도 내보낸 아티팩트를 검증해야 합니다. 아카이브가 완료되었다고 배포용 패키지 생성까지 끝난 것은 아닙니다.

디스크 공간이 부족합니다. 캐시를 모두 삭제해도 되나요?

먼저 디스크 사용량과 작업 상태를 확인하고 다시 만들 수 있는 캐시와 보존해야 하는 아티팩트를 구분하세요. 실행 중인 작업이 사용하는 디렉터리는 삭제하지 마세요. 소스 코드, 서명 자료, 아직 업로드하지 않은 Archive를 캐시로 취급해서도 안 됩니다.

df -h
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/Archives

캐시와 아티팩트에 서로 다른 보존 규칙을 적용하세요. 정리 후에는 첫 컴파일과 의존성 확인이 느려질 수 있으므로 해당 빌드를 콜드 스타트 테스트로 간주하세요. 장기간 공간이 부족하다면 프로젝트와 아티팩트의 증가량을 먼저 파악한 뒤 더 적합한 모델이나 SSD 추가 옵션을 선택하세요.

티켓에서 쓰는 용어를 통일하세요

자주 쓰는 용어 8개를 리소스, 연결, 빌드, 코드 서명 기준으로 정리했습니다. 구체적인 대상을 명시하면 불필요한 추가 확인을 줄일 수 있습니다.

물리 노드
macOS를 실제로 실행하는 Mac mini입니다. XCRent는 가상 머신이 아닌 전용 물리 장비를 제공합니다. 노드 정보는 인스턴스를 식별하는 데 사용하며 프로젝트의 CI 작업 번호와는 다릅니다.
전용 사용
대여 기간 동안 하나의 고객이 물리 노드 전체를 사용합니다. 같은 고객의 여러 작업은 CPU, 메모리, 디스크를 함께 사용하므로 동시 실행과 디렉터리 분리를 직접 관리해야 합니다.
VNC
macOS 그래픽 인터페이스를 조작하기 위한 원격 데스크톱 연결 방식입니다. Xcode 설정, 키체인, 시스템 상태를 확인할 때 유용합니다. 실제 주소와 인증 정보는 로그인 후 콘솔에서 확인하세요.
SSH
명령 실행, 파일 전송, 자동화 배포에 적합한 암호화된 명령줄 연결 방식입니다. 키 인증을 사용할 때는 개인 키를 안전하게 보관하고 서버 신원을 확인하세요. 원격 데스크톱 프로토콜은 아닙니다.
self-hosted runner
자체 노드에 설치해 사용하는 CI 실행 프로세스입니다. 프로젝트 작업을 받아 지정된 사용자로 실행합니다. 작업 실행 여부는 온라인 상태, 라벨, 권한, 작업 디렉터리에 따라 달라집니다.
Archive
Xcode에서 생성하는 아카이브 빌드 결과물로, 이후 내보내기에 필요한 앱 콘텐츠와 관련 정보를 포함합니다. Archive가 성공해도 내보내기가 완료된 것은 아니므로 코드 서명과 배포 설정을 확인해야 합니다.
프로비저닝 프로파일(Provisioning Profile)
앱 식별자, 기능, 인증서, 배포 범위를 제한하는 서명 파일입니다. Target 설정과 일치해야 하며, 배포 인증서와 해당 개인 키를 대신할 수는 없습니다.
통합 메모리
Apple Silicon에서 CPU와 GPU가 공유하는 메모리 리소스입니다. 컴파일, 시뮬레이터, 모델 작업을 동시에 실행할 때는 전체 메모리 부담을 함께 고려해야 하며, 모든 용량을 한 작업에만 할당할 수는 없습니다.
가동률 및 보상

월간 기준을 확인하고 빌드 실패와 서비스 중단을 구분하세요

노드는 연중 365일 정상 운영됩니다. 서비스 가용성과 프로젝트 빌드 결과는 따로 확인하세요. 인증서 만료, 프로젝트 설정 오류, 사용자 조작으로 발생한 실패가 곧바로 노드 서비스 중단을 의미하지는 않습니다.

월간 가동률 보장

99.9%

월간 가동률이 보장 기준에 미달하면 미달 시간에 따라 대여 기간으로 보상합니다. 신청 시 인스턴스, 영향이 발생한 시간대, 연결 기록을 제공해 주세요. 지원팀이 서버 기록과 적용 범위를 확인합니다.

최근 90일 기록 기준

이 페이지에는 노드 모니터링 기록이 연동되어 있지 않아 일별 운영 상태를 표시하지 않으며, 보장 수치를 실측 결과처럼 제시하지 않습니다. 실제 이벤트 기록은 콘솔 티켓으로 확인해 주세요.

조회 기간
최근 90일
페이지 데이터 상태
모니터링 기록 미연동
보상 산정 기간
월별 확인

보관해야 할 증거

장애가 시작되고 복구된 시각을 시간대와 함께 기록하세요. 연결 오류, 재시도 결과, 영향을 받은 인스턴스도 보관하세요. 불가항력이나 사용자 조작 등 제외 항목은 서비스 약관에 따라 확인합니다. 파이프라인 실패 스크린샷만 제출하거나 로컬 네트워크 장애 시간을 노드 중단 시간으로 간주하지 마세요.

바로 확인을 시작할 수 있도록 티켓을 작성하세요

대여 고객은 콘솔에서 티켓을 제출하세요. 구매 전 문의, 비즈니스 문의 또는 보안 제보는 support@xcoderent.com으로 보내 주세요. 지원 요청은 이 두 경로로 접수할 수 있습니다.

  1. 01

    인스턴스 정보

    주문 번호, 노드 위치, 모델을 알려 주세요. 노드 위치는 싱가포르, 도쿄, 서울, 홍콩, 미국 동부, 미국 서부입니다. 모델은 XR Build 16, XR Build 24, XR Build Pro 64 중 하나로 적어 ‘그 빌드 서버’처럼 모호하게 쓰지 마세요.

  2. 02

    증상 설명

    실패한 단계, 시작 시각, 지속 여부를 적고 최근 Xcode 전환, 코드 서명 변경, runner 설정 변경이 있었는지 알려 주세요. 노드별 기록을 정확히 대조할 수 있도록 시간대도 표시하세요.

  3. 03

    최소 재현 정보 첨부

    민감 정보를 가린 명령어, 처음 발생한 실제 오류, 이미 확인한 사항을 제공하세요. 개인 키, 로그인 비밀번호, 등록 토큰, 전체 결제 카드 정보를 보내지 마세요. 로그에 포함된 민감한 경로도 먼저 삭제하세요.

  4. 04

    영향 범위 명시

    프로젝트 하나의 실패, 모든 작업의 실패, 노드 연결 실패를 구분하세요. 실행 가능한 작업이 있다면 어떤 작업이 통과하고 어떤 작업이 실패하는지 알려 주세요. 지원팀이 툴체인, 프로젝트, 인스턴스 중 어느 부분을 먼저 확인할지 판단하는 데 도움이 됩니다.

지원 진행 상황은 어디서 확인하나요?

티켓 진행 상황, 추가 정보 요청, 처리 답변은 콘솔에서 확인할 수 있습니다. 확인되지 않은 분 단위 응답 시간을 약속하지 않습니다. 납품 일정이나 복구 예상 시간이 필요하다면 티켓에 업무 마감 시간을 적어 주세요. 지원팀이 실제 문제를 확인한 뒤 안내합니다. 같은 내용을 반복해서 제출해도 확인 정보가 늘어나지는 않으니 기존 티켓에 기록을 추가해 주세요.

원하는 답변을 찾지 못하셨나요?

빌드 대기열, 이용 기간, 구체적인 오류 메시지를 알려 주세요. 문의 페이지에서 문의 내용을 정리하는 방법을 확인할 수 있습니다. 기존 주문 관련 문의는 콘솔에서 전체 점검 기록을 확인할 수 있도록 티켓을 제출하세요.