연결부터 산출물 검증까지

클라우드 Mac을 빌드 파이프라인에 연결하세요

개념만 설명하는 문서가 아니라 항목별로 실행할 수 있는 절차를 제공합니다. 먼저 전용 물리 Mac의 기기 신원 확인과 보안 설정을 완료한 다음 Xcode, 서명 자료와 자동화 작업을 준비하세요. 문제가 발생하면 동일한 기준으로 네트워크 출력과 빌드 로그를 수집하세요.

5개 지원 주제
6단계 자동 패키징 파이프라인
2가지 추적 가능한 문의 경로
RUNNER 지원 경로 MAC-01
01
수령 및 확인 연결 매개변수, 호스트 지문, 최초 비밀번호
준비
02
빌드 환경 준비 Xcode, 툴체인, 서명 자료, 디렉터리
구성
03
자동화 작업 실행 체크아웃, 캐시, 아카이브, 내보내기, 검증
실행
04
진단 자료 수집 노드, 주문, 시간, 명령어 및 전체 출력
점검
모든 진단은 재현 가능한 입력에서 시작됩니다
최초 연결

5단계로 노드 신원 확인과 보안 설정 완료

RunnerVM은 가상 머신이 아닌 전용 물리 Mac mini를 제공합니다. 최초 작업의 핵심은 명령어를 서둘러 실행하는 것이 아니라 주문에 해당하는 기기에 연결했는지 확인하고 초기 접근 방식을 팀의 보안 설정으로 교체하는 것입니다.

  1. 01

    콘솔에서 전달 정보 수령

    주문 식별자, 노드 리전, 연결 주소, SSH 포트, VNC 매개변수와 최초 사용자 이름을 확인하세요. 전체 자격 증명을 채팅으로 전달하지 마세요. 팀에서 협업할 때는 실제 작업자에게 필요한 항목만 공유하세요.

  2. 02

    먼저 호스트 지문 기록

    콘솔에 표시된 호스트 지문과 최초 SSH 프롬프트를 문자 단위로 비교하세요. 알고리즘이나 다이제스트가 다르면 연결을 중지하고 티켓을 제출하세요. 로컬 known_hosts 기록을 삭제해 이상을 우회하지 마세요.

  3. 03

    SSH 명령줄 연결 설정

    주문에 제공된 호스트, 포트와 사용자 이름으로 연결하세요. 로그인 후 먼저 sw_vers를 실행하고uname -mhostname을 실행한 다음 시스템 버전, Apple Silicon 아키텍처와 기기 이름을 전달 기록에 작성하세요.

  4. 04

    필요할 때 VNC 원격 데스크톱 설정

    로컬 VNC 클라이언트에 콘솔에서 제공한 주소, 포트와 비밀번호를 입력하세요. 최초에는 기본 해상도로 키보드, 포인터와 창 크기 조절을 확인하고 세션이 안정적인지 확인한 후 화면 크기를 높이세요.

  5. 05

    비밀번호 변경 및 권한 제한

    최초 비밀번호를 즉시 변경하고 SSH 공개 키와 관리자 권한을 점검한 뒤 작업에 필요한 접근만 남기세요. 완료 후 SSH와 VNC 세션을 다시 연결해 새 자격 증명이 유효한지 확인하고 프로젝트나 서명 자료를 가져오세요.

명령어 실행 예시

연결 확인부터 아카이브 출력까지

아래에서는 일반적인 빌드 작업 순서에 따라 SSH, xcodebuild와 fastlane 출력을 보여 줍니다. 명령어의 호스트, 작업 공간, Scheme, 내보내기 구성과 lane은 프로젝트의 실제 값으로 바꿔야 하며 모든 저장소에 그대로 적용된다고 가정해서는 안 됩니다.

  • 먼저 연결 대상을 확인한 후 프로젝트 디렉터리로 이동하세요.
  • 아카이브 경로에는 작업별 고유 디렉터리를 사용해 동시 실행으로 인한 덮어쓰기를 방지하세요.
  • 전체 표준 출력과 종료 코드를 저장하고 마지막 한 줄만 보관하지 마세요.
runner-build-session zsh
노드 연결 SSH
$ ssh -p 22 runner@10.0.0.12
Host key fingerprint: SHA256:…
$ sw_vers
ProductName: macOS
$ uname -m
arm64
아카이브 생성 XCODEBUILD
$ xcodebuild archive \
-workspace RunnerApp.xcworkspace \
-scheme RunnerApp \
-archivePath build/RunnerApp.xcarchive
** ARCHIVE SUCCEEDED **
자동화 파이프라인 실행 FASTLANE
$ bundle exec fastlane ios build
[08:42:16]: Resolving signing settings
[08:43:02]: Archive completed
[08:43:11]: Export verified
[08:43:11]: fastlane finished successfully
예시 명령어는 프로젝트의 작업 공간, Scheme, 서명 방식과 디렉터리 구조에 맞게 조정해야 합니다.
환경 준비

Xcode, 서명 자료와 디렉터리를 각각 검증 가능하게 구성하세요

환경 문제는 대개 “Xcode가 열리는가”가 아니라 그래픽 인터페이스 선택, 명령줄 경로, 프로젝트 선언과 서명 컨텍스트가 일치하는지의 문제입니다. 아래 순서대로 확인하면 툴체인 문제와 프로젝트 문제를 더 빠르게 구분할 수 있습니다.

01

Xcode 버전과 경로 확인

다음을 실행하세요 xcodebuild -versionxcode-select -p을 실행하세요. 노드에 여러 버전이 설치되어 있다면 먼저 프로젝트 요구 사항을 확인한 후 개발자 디렉터리를 전환해 그래픽 인터페이스와 자동화 작업이 서로 다른 버전을 사용하지 않도록 하세요.

02

Command Line Tools 검증

다음을 실행하세요 xcrun --find xcodebuildxcrun simctl list 를 실행하고 서명 없이 프로젝트를 한 번 해석하세요. 도구가 없거나 SDK 목록이 비정상이면 먼저 툴체인을 복구하고 프로젝트 파일을 바로 수정하지 마세요.

03

작업 전용 서명 키체인 생성

자동화 작업에서 사용할 인증서를 별도 키체인에 넣고 명확한 잠금 해제 절차와 최소 접근 범위를 설정하세요. 비밀번호를 저장소, 스크립트 매개변수나 빌드 로그에 기록하지 마세요.

04

인증서와 프로비저닝 프로파일 가져오기

인증서 이름, 유효 기간, 팀 식별자와 프로비저닝 프로파일 UUID를 기록하고 Bundle Identifier가 대상 구성과 일치하는지 확인하세요. 가져온 후 security find-identity -v -p codesigning 으로 사용 가능한 서명 ID를 검증하세요.

05

빌드 디렉터리 계획

소스 코드, 종속성 캐시, DerivedData, Archive, Export와 로그를 분리하세요. 작업마다 고유한 아카이브 경로를 사용하고 공유 캐시에는 재생성 가능한 내용만 저장해 서명 자료가 캐시에 섞이지 않도록 하세요.

자동화 패키징

성공한 빌드를 반복 가능한 6단계로 전환하세요

자동화의 목표는 로컬 스크립트를 원격으로 옮기는 것이 아니라 입력, 환경, 서명과 출력을 모두 재현 가능하게 만드는 것입니다. 각 단계는 명확한 기록을 남겨야 하며 실패 시 어느 단계에서 문제가 발생했는지 확인할 수 있어야 합니다.

  1. 01

    고정된 코드 버전 체크아웃

    계속 이동하는 브랜치 헤드에 의존하지 말고 커밋 해시나 보호된 태그를 사용하세요. 서브모듈 버전, Git LFS 상태와 저장소의 clean 상태를 기록하세요.

    git checkout --detach <commit>
  2. 02

    종속성 캐시 복원 및 검증

    캐시 키에는 최소한 잠금 파일 다이제스트, 도구 버전과 아키텍처를 포함하세요. 캐시가 없으면 정상적으로 설치하고 “캐시 적중 필수”를 빌드 성공 조건으로 삼지 마세요.

    bundle check || bundle install
  3. 03

    서명 구성 탑재

    작업 전용 키체인을 잠금 해제하고 일치하는 프로비저닝 프로파일을 가져온 뒤 사용 가능한 서명 ID를 검증하세요. 어떤 키나 비밀번호도 표준 출력에 기록해서는 안 됩니다.

    security find-identity -v -p codesigning
  4. 04

    Archive 실행

    작업 공간, Scheme, Configuration, Destination과 아카이브 경로를 명시적으로 지정하세요. 전체 로그와 xcodebuild 종료 코드를 저장하세요.

    xcodebuild archive …
  5. 05

    배포 산출물 내보내기

    내보내기 구성을 버전 관리에 포함하되 비밀은 포함하지 마세요. 내보내기 디렉터리와 아카이브 디렉터리를 분리해 재실행 시 원본 xcarchive를 덮어쓰지 않도록 하세요.

    xcodebuild -exportArchive …
  6. 06

    결과 검증 및 등록

    파일 존재 여부, 크기, 다이제스트, 서명 정보와 작업 종료 코드를 확인하고 산출물 식별자를 커밋 버전, Xcode 버전 및 로그 경로와 연결하세요.

    shasum -a 256 build-output
원격 데스크톱

VNC는 그래픽 작업에, 장시간 작업은 독립 프로세스에 맡기세요

원격 데스크톱은 최초 그래픽 설정, Xcode 인터페이스 상태 확인과 시각적 확인이 필요한 작업에 적합합니다. 빌드가 계속 실행되는지는 로컬 VNC 창의 연결 유지 여부에 의존해서는 안 됩니다.

연결 매개변수

콘솔에 표시된 주소, 포트, 사용자 이름과 비밀번호를 정확히 사용하세요. 클라이언트가 연결 프로필을 지원하더라도 동기화되는 평문 파일에 비밀번호를 저장하지 마세요.

해상도 조정

최초 연결에는 기본 크기를 사용하세요. 상호작용이 안정적인지 확인한 후 해상도를 단계적으로 높이세요. 입력 지연이 발생하면 먼저 색 심도와 화면 크기를 낮춘 다음 네트워크 경로를 확인하세요.

세션 잠금

기기를 떠나기 전에 그래픽 세션을 잠그고 VNC 클라이언트를 닫는 것으로 화면 잠금을 대신하지 마세요. 팀 교대 시 더 이상 필요하지 않은 접근 권한을 철회하세요.

연결이 끊긴 후의 작업

지속적인 빌드는 CI runner, launchd, tmux 또는 복구 가능한 다른 세션에서 실행해야 합니다. 먼저 한 번 의도적으로 연결을 끊어 작업과 로그가 계속 기록되는지 확인하세요.

원격 세션 인계 체크리스트 VNC / SSH
시작 전 노드와 세션 신원 확인

주문 리전, 기기 이름과 현재 로그인 사용자를 확인하세요.

실행 중 작업을 별도 로그에 기록

화면 출력만으로 빌드가 계속 실행 중인지 판단하지 마세요.

자리를 비울 때 세션을 잠그고 백그라운드 작업 검증

연결을 끊은 후 SSH로 프로세스, 로그 증가와 종료 상태를 확인하세요.

인계 후 임시 권한 철회

임시 공개 키, 일회성 파일과 더 이상 필요하지 않은 자격 증명을 제거하세요.

네트워크 및 지연 시간

한 번의 점검에서 연결성, 경로, 이름 확인과 포트를 모두 기록하세요

네트워크 문제에서는 “어디에서, 언제, 어떤 대상에 접근했고, 어떤 전체 출력이 나왔는가”를 명확히 해야 합니다. 스크린샷 한 장이나 “연결이 느립니다”라는 설명만으로는 로컬 네트워크, 국제 경로, DNS, 포트 정책과 대상 서비스 상태를 구분할 수 없습니다.

PING

기본 왕복 시간과 패킷 손실 확인

정해진 수의 패킷을 연속으로 전송하고 최소·평균·최대 지연 시간과 패킷 손실률을 보관하세요. 한 번의 응답으로 전체 연결 품질을 판단하지 마세요.

ping -c 20 target-host
TRACEROUTE

경로가 변경되는 지점 확인

문제가 발생한 출발지 네트워크에서 실행하고 전체 홉을 보관하세요. 중간 노드가 응답하지 않는다고 해서 링크가 끊긴 것은 아니므로 최종 대상에 도달 가능한지 함께 판단해야 합니다.

traceroute target-host
DNS

해석 결과와 소요 시간 확인

현재 DNS 서버, 반환 주소와 조회 시간을 기록하세요. 네트워크마다 결과가 다르면 양쪽 출력을 함께 제출하고 결과를 수동으로 수정하지 마세요.

dig target-host
PORT

대상 포트 도달 가능성 확인

SSH 또는 프로젝트에서 실제 사용하는 포트를 각각 테스트하세요. 연결 성공은 TCP에 도달할 수 있다는 뜻일 뿐, 인증과 상위 프로토콜이 완료되었다는 의미는 아닙니다.

nc -vz target-host 22
티켓 진단 패키지

제출 시 반드시 포함할 5가지 정보

NET-CHECK
문제 발생 시간
현지 날짜, 시간, 시간대와 지속 시간을 명시하세요.
출발지 위치
출발지 노드, 사무실 네트워크 또는 가정 네트워크와 통신사를 알려 주세요.
대상 정보
주문 식별자, 노드 리전, 대상 호스트와 포트를 제공하세요.
전체 출력
ping, traceroute, DNS와 포트 점검의 원본 결과를 첨부하세요.
비교 결과
가능하다면 다른 네트워크나 다른 시간대에 동일한 테스트를 수행한 결과를 추가하세요.

제출하기 전에 비밀번호, 개인 키, 토큰과 업무 데이터를 제거하되 타임스탬프, 오류 코드, 경로 홉과 명령어 매개변수는 삭제하지 마세요.

지원 요청 절차

먼저 문제 범위를 좁힌 후 추적 가능한 티켓을 제출하세요

구매 전 문의, 일반 상담과 특정 주문과 관련 없는 안내는 이메일로 보낼 수 있습니다. 노드, 빌드 실패, 연결 이상 또는 결제 기록과 관련된 문제는 콘솔에 로그인해 티켓을 제출해야 주문과 연결하고 처리 상태를 계속 확인할 수 있습니다.

  1. 01

    해당 가이드를 찾아 실행

    최초 연결, 환경 준비, 자동화 또는 네트워크 점검 경로를 선택하세요. 이미 실행한 단계, 명령어, 결과와 처음 이상이 발생한 위치를 기록하세요.

  2. 02

    최소 재현 자료 정리

    주문 식별자, 노드 리전, 문제 발생 시간, 재현 단계, 예상 결과, 실제 결과와 비식별화한 전체 로그를 제공하세요. 빌드 문제라면 커밋 버전과 Xcode 버전도 적어야 합니다.

  3. 03

    콘솔에서 티켓 제출

    문제에 가장 가까운 분류를 선택하고 로그를 첨부 파일이나 본문 코드 블록으로 제출하세요. 티켓 하나는 문제 하나에 집중하고 네트워크, 빌드와 결제 이상을 한 기록에 섞지 마세요.

  4. 04

    기존 티켓에 진행 상황 추가

    재테스트 후 기존 티켓에 새 시간, 명령어와 출력을 계속 답변으로 추가하세요. 긴급 상황도 콘솔에서 처리 상태를 확인하고 동일한 티켓을 여러 개 만들지 마세요.

특정 주문 연결

콘솔 티켓

연결 실패, 노드 이상, 빌드 환경, 결제 확인과 지속적인 후속 조치가 필요한 문제에 적합합니다. 티켓을 주문과 연결하고 전체 처리 타임라인을 보존할 수 있습니다.

  • 주문 식별자와 노드 리전
  • 시간대가 포함된 문제 발생 시간
  • 재현 단계와 전체 오류 출력
  • 실행한 점검 명령어와 결과
콘솔에 로그인해 티켓 제출
일반 상담

지원 이메일 보내기

구매 전 선택 상담, 절차 확인, 보안 신고와 노드 연결이 필요 없는 안내에 적합합니다. 이메일 제목에 문제 유형을 적고 본문에 비밀번호나 키를 포함하지 마세요.

support@runnervm.com
템플릿 정리가 필요하신가요?

먼저 구조화된 설명 생성

문의 페이지에는 구매 전, 기술, 결제와 보안 항목별 필수 정보가 정리되어 있어 이메일을 보내기 전에 자료가 완전한지 확인할 수 있습니다.

문의 안내 보기
자주 묻는 판단 기준

점검 전에 먼저 다음 경계를 확인하세요

아래 답변은 기기 인도, 연결 방식, 빌드 작업과 지원 자료를 구분해 잘못된 방향으로 반복 시도하는 일을 줄이는 데 도움이 됩니다.

RunnerVM은 가상 인스턴스를 제공하나요?

아닙니다. 주문에 해당하는 전용 물리 Mac mini 노드이며 사양은 Runner M4: Mac Mini M4, 16GB RAM, 256GB SSD입니다. 원격 연결은 접근 방식일 뿐 서비스가 공유 가상 리소스로 바뀌는 것은 아닙니다.

VNC 연결을 끊어도 빌드 작업이 계속되나요?

작업을 어떻게 시작했는지에 따라 달라집니다. CI runner, launchd, tmux 또는 독립 백그라운드 프로세스는 일반적으로 VNC 창에 의존하지 않습니다. 그래픽 세션에 직접 연결된 대화형 작업은 세션 상태의 영향을 받을 수 있습니다. 정식 사용 전에 한 번 연결을 끊고 프로세스, 로그와 종료 상태를 확인하세요.

최초 연결 전에 무엇을 준비해야 하나요?

사용 가능한 SSH와 VNC 클라이언트, 팀 내부 자격 증명 보관 방식, 프로젝트에서 요구하는 Xcode 버전, 서명 자료 목록과 저장소에 기록되지 않는 비밀 관리 절차를 준비하세요. 전달 정보를 받은 후 먼저 호스트 지문과 기기 신원을 확인하세요.

문제 점검으로 주문 결제 주기가 바뀌나요?

자동으로 변경되지는 않습니다. Runner M4는 일·주·월·분기 단위로 주문할 수 있으며 주문 주기와 처리 상태는 콘솔 기록을 기준으로 합니다. 특정 주문을 확인하려면 콘솔에서 해당 주문과 연결된 티켓을 제출하세요.

작업이 끝난 후 무엇을 정리해야 하나요?

보관할 아카이브, 산출물과 비식별화한 로그를 먼저 내보낸 다음 소스 작업 공간, 임시 서명 키체인, 프로비저닝 프로파일, 임시 공개 키, 액세스 토큰과 프로젝트 캐시의 민감한 정보를 정리하세요. 셸 기록이나 스크립트 매개변수에 평문 자격 증명을 남기지 마세요.

어떤 노드를 선택해야 하는지 어떻게 판단하나요?

실제 사무실 네트워크나 CI 출발지에서 대상 리전의 지연 시간과 경로를 먼저 테스트한 후 팀의 시간대와 산출물 전송 방향을 함께 고려하세요. Runner M4는 싱가포르, 일본 도쿄, 한국 서울, 홍콩과 미국 동부의 5개 노드에서 주문할 수 있으며 실제 이용 가능 여부는 콘솔의 실시간 결과를 기준으로 합니다.

다음 빌드

검증 가능한 클라우드 Mac에서 시작하세요

Runner M4와 대상 리전을 선택하고 주문을 완료한 후 이 페이지의 단계에 따라 연결을 확인하고 툴체인을 준비한 다음 첫 번째 반복 가능한 빌드 작업을 실행하세요.