개발 및 연결 지원

원격 Mac 연결부터 빌드와 문제 해결까지 한 번에 정리하세요

연결 정보 수령부터 Xcode, 서명, 지속적 통합 실행까지 작업별 단계로 안내합니다. 각 점검 항목은 확인 가능한 결과에 연결되며, 문제가 생기면 재현 가능한 진단 기록을 준비할 수 있습니다.

Apple Silicon 전용 물리 노드로, 주문마다 한 대의 장치를 단독으로 사용하며 가상 머신이 아닙니다. 최초 연결 전에 노드, 시스템 버전과 접속 방식을 확인하세요.

원격 세션 인계 원격 세션 인계 보드
세션 / 05
장치 할당
주문별 전용 물리 컴퓨터 1대
접속 방식
그래픽 인터페이스 및 SSH
시스템 버전
최초 연결 후 즉시 확인
세션 시간대
노드 및 팀 절차에 따라 설정
제공 단계 01—05
  1. 01주문 및 노드 확인모델, 지역, 대여 기간 확인
  2. 02접속 인증 정보 수령콘솔에서만 안전하게 확인
  3. 03원격 세션 연결그래픽 인터페이스와 SSH부터 확인
  4. 04개발 도구 구성Xcode 및 종속성 버전 기록
  5. 05자동화 작업 연동작업 디렉터리와 캐시 분리
지원 범위 연결, 도구 체인, CI/CD, 시스템 및 주문
판매 중인 노드 5개
운영 기준 365일 연중 정상 운영
실시간 정보 콘솔에 실시간으로 표시되는 정보를 기준으로 함
원격 연결 가이드

연결 경로를 먼저 확인한 후 개발 종속성을 설치하세요

최초 접속의 목표는 모든 프로젝트를 즉시 이전하는 것이 아니라 인증 정보, 네트워크, 그래픽 세션과 SSH가 안정적인지 확인하는 것입니다. 기본 연결을 검증하기 전에는 장시간 빌드를 시작하지 않는 것이 좋습니다.

  1. 01

    콘솔에서 인증 정보 받기

    주문 식별자, 노드, 장치 이름과 접속 방식을 확인하세요. 인증 정보는 관리되는 비밀번호 관리 도구에만 저장하고 단체 채팅이나 공개 문서로 전달하지 마세요.

  2. 02

    연결 전 점검 수행

    로컬 네트워크가 필요한 포트를 차단하지 않는지 확인하고 라우팅을 변경하는 임시 프록시는 끄세요. 현재 공인 출구 IP와 테스트 시간을 기록합니다. 먼저 안정적인 유선 네트워크로 확인한 뒤 무선 네트워크와 비교하세요.

  3. 03

    해상도 및 클립보드 조정

    먼저 로컬 모니터와 비슷한 해상도를 사용하고 텍스트 선명도, 키 매핑과 양방향 클립보드를 확인하세요. 고해상도는 불안정한 네트워크에서 화면 업데이트 부담을 높이므로 상호작용 안정성을 우선해야 합니다.

  4. 04

    연결 끊김 후 재접속 확인

    세션을 한 번 의도적으로 끊은 뒤 다시 연결하여 실행 중인 명령이 계속되는지, 그래픽 세션이 원래 데스크톱으로 복구되는지 확인하세요. 장시간 작업은 지속 가능한 명령 세션이나 CI/CD 작업에서 실행하는 것이 좋습니다.

  5. 05

    원격 접속 범위 제한

    필요한 구성원에게만 접속 권한을 배포하고 팀원이 변경되면 즉시 인증 정보를 갱신하세요. 스크립트, 저장소, 빌드 로그 또는 스크린샷에 개인 키, 전체 비밀번호와 원격 제어 인증 코드를 저장하지 마세요.

명령 실행 기록

세 가지 결과로 노드의 빌드 가능 여부를 확인하세요

먼저 SSH 세션을 확인하고 Xcode 빌드를 실행한 뒤 자동화 패키징 도구를 검증하세요. 예시는 판단 흐름만 보여 주므로 프로젝트 이름, scheme, workspace와 내보내기 매개변수는 팀 설정으로 바꿔야 합니다.

  • SSH:주문에 해당하는 장치에 연결되었는지 확인하고 시스템 버전을 기록합니다.
  • xcodebuild:workspace, scheme 및 configuration을 명시적으로 지정합니다.
  • fastlane:먼저 읽기 전용 점검을 실행한 다음 실제 패키징 lane을 실행합니다.
build-session / assigned-node UTF-8 · zsh
$ ssh developer@assigned-mac
connection established
$ sw_vers -productVersion
current macOS version returned
$ xcodebuild -workspace App.xcworkspace \
  -scheme App -configuration Release build
Resolve Package Graph
CompileSwiftSources normal arm64
** BUILD SUCCEEDED **
$ bundle exec fastlane ios verify_build
Checking signing assets
Archive validation passed
fastlane finished successfully
Xcode 및 서명

버전, 인증서와 권한을 나누어 확인하세요

대부분의 서명 문제는 하나의 설정만으로 발생하지 않습니다. 먼저 도구 버전을 고정하고 인증서와 프로비저닝 프로파일의 일치 여부를 확인한 다음 자동화 프로세스가 필요한 Keychain 항목에 접근할 수 있는지 확인하세요.

A

Xcode 선택 경로 확인

그래픽 인터페이스의 Xcode 버전과 명령줄 도구 경로를 함께 기록하세요. 여러 버전이 있으면 빌드 스크립트에서 명시적으로 선택하여 대화형 세션과 runner가 서로 다른 도구 체인을 사용하지 않게 해야 합니다.

$ xcodebuild -version
$ xcode-select -p
$ xcrun --find swift
B

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

인증서, 개인 키와 프로비저닝 프로파일은 같은 서명 흐름에 속해야 합니다. 가져온 후 유효 기간, 팀 정보와 대상 식별자를 먼저 확인하고 정식 패키징 작업을 최초 검증으로 사용하지 마세요.

  • 인증서와 개인 키가 쌍으로 존재
  • 프로비저닝 프로파일이 대상 식별자를 포함
  • 빌드 구성이 올바른 팀을 참조
C

Keychain 권한 확인

그래픽 세션에서 사용할 수 있다고 해서 자동화 프로세스에서도 사용할 수 있는 것은 아닙니다. runner에 해당하는 사용자와 비대화형 환경에서 잠금 해제 방식, 검색 목록과 코드 서명 접근 권한을 확인하세요.

  • 실행 사용자 일치 여부 확인
  • 잠금 해제 인증 정보의 노출 범위 제한
  • 민감한 값을 빌드 로그에 기록하지 않기
D

자동화 서명 실패 분석

실패한 명령, 대상 이름, configuration, 내보내기 방식과 첫 번째 오류 줄을 보존하세요. 마지막의 일반적인 실패 메시지만 제출하면 실제 원인이 빠지는 경우가 많습니다.

  • 첫 번째 서명 오류부터 확인
  • 로컬과 runner 환경 변수 비교
  • 최소 대상에서 문제 재현
도구 체인 변경 전 호환성 확인 순서
점검 대상 기록할 내용 통과 기준 실패 시 다음 단계
macOS 현재 버전, 사용 가능한 디스크 공간 대상 Xcode가 명확하게 지원 변경을 중단하고 호환성 매트릭스 확인
Xcode 버전, 선택 경로, SDK 명령줄과 그래픽 인터페이스가 일치 도구 경로를 수정한 후 최소 빌드 재실행
서명 자료 인증서 상태, 프로비저닝 프로파일, 팀 대상 식별자와 내보내기 방식이 일치 다시 가져온 후 Keychain 권한 확인
프로젝트 종속성 잠금 파일, 런타임, 플러그인 버전 클린 디렉터리에 반복 설치 가능 부분 캐시를 정리하고 실패 로그 보존
Self-hosted runner

자동화 작업을 격리·정리·재현 가능하게 만드세요

runner는 일상적인 개발 디렉터리를 그대로 재사용해서는 안 됩니다. 저장소, 종속성 캐시, 빌드 산출물과 임시 파일의 경계를 나누어야 한 번의 실패 작업이 다음 빌드를 오염시키는 일을 막을 수 있습니다.

GITHUB ACTIONS 저장소 또는 조직 수준 runner

단일 저장소로 먼저 검증한 후 작업 범위를 넓히세요

  1. 등록:해당 저장소나 조직에서 단기간 유효한 등록 정보를 생성하고 대상 장치에서 runner 구성을 완료합니다.
  2. 라벨:칩, 용도와 도구 체인을 나타내는 라벨을 사용하여 작업이 잘못된 환경에 배정되지 않게 합니다.
  3. 서비스:고정된 비특권 사용자로 실행하고 재시작 후에도 작업을 다시 받을 수 있는지 확인합니다.
  4. 검증:버전 점검과 최소 빌드를 먼저 실행한 뒤 아카이브, 테스트와 배포 작업을 연결합니다.
GITLAB RUNNER 프로젝트 또는 그룹 수준 runner

라벨과 실행 경계로 작업 출처를 제어하세요

  1. 등록:runner가 어느 프로젝트나 그룹에 속하는지 확인하고 등록 정보를 스크립트 저장소에 보관하지 마세요.
  2. 실행기:빌드 방식에 맞는 로컬 실행 경로를 선택하고 실행 가능한 작업 유형을 제한합니다.
  3. 라벨:작업이 라벨과 명시적으로 일치하도록 하여 검토되지 않은 작업이 서명 환경에 들어오지 않게 합니다.
  4. 감사:작업 식별자, 커밋 버전과 실패 단계를 보존하여 지원 팀이 재현할 수 있게 합니다.
WORK 작업 디렉터리

저장소마다 독립적으로 사용하고 작업이 끝나면 임시 파일을 제거하세요. 출처를 알 수 없는 체크아웃 디렉터리는 재사용하지 마세요.

CACHE 종속성 캐시

잠금 파일이나 도구 버전에 따라 캐시 키를 생성하고 버전이 바뀌면 적극적으로 무효화하세요. 무조건 전체 캐시를 재사용하지 마세요.

OUTPUT 빌드 산출물

산출물은 소스 코드와 분리해 저장하고 업로드가 완료되면 팀의 보존 정책에 따라 로컬 사본을 정리하세요.

SECRETS 민감한 변수

플랫폼의 시크릿 기능으로 주입하고 로그 출력을 제한하세요. 프로젝트 파일, 캐시나 아카이브에 기록하지 마세요.

시스템 업그레이드 전략

업그레이드는 직접 계획하고 되돌릴 수 있는 환경 기록을 먼저 남기세요

VMOwn 노드는 365일 연중 정상 운영되며 정기 중단 시간이 없습니다. 시스템 업그레이드는 사용자가 직접 수행하는 변경이므로 배포와 빌드에 영향을 주지 않는 시간대를 선택하고 작업 전에 도구 체인 호환성을 확인하세요.

업그레이드 전 상태 기록

시스템 및 하드웨어
macOS 버전, 칩, 통합 메모리, 남은 디스크 공간
개발 도구
Xcode, 명령줄 도구, SDK, 런타임 버전
프로젝트 종속성
패키지 관리자 잠금 파일, Ruby, Python, Node 환경
서명 구성
인증서 상태, 프로비저닝 프로파일, Keychain 검색 목록
자동화 작업
runner 상태, 라벨, 작업 디렉터리, 최근 성공 작업
복구 자료
코드 백업, 구성 내보내기, 주요 로그, 주문 식별자
변경 전

기준 파이프라인을 먼저 실행하세요

업그레이드 전에 반복 가능한 빌드, 테스트와 아카이브를 한 번 완료하고 커밋 버전과 결과를 기록하세요. 업그레이드 후 동일한 입력으로 다시 실행해야 차이를 추적할 수 있습니다.

진단 정보 준비
변경 실패

연속 수정을 멈추고 현재 상태를 보존하세요

마지막 성공 단계와 첫 번째 실패 단계를 기록하고 모든 캐시를 반복해서 삭제하지 마세요. 도구 버전, 오류 로그와 재현 명령을 정리해 티켓으로 제출하세요.

콘솔 티켓 제출
진단 정보 체크리스트

지원 팀이 동일한 조건에서 문제를 재현할 수 있게 하세요

“연결 실패”나 “빌드 오류”만으로는 분석을 시작하기 어렵습니다. 문제 발생 상황, 정확한 시간, 첫 번째 오류와 최소 재현 절차를 제공하고 로그에서 민감한 내용을 제거하세요.

티켓 첨부 파일 체크리스트 필수 항목 6개
01

노드 및 주문 식별자

실제 노드가 싱가포르, 일본(도쿄), 한국(서울), 홍콩 또는 미국 서부 중 어디인지와 콘솔의 주문 식별자를 제공하세요.

02

시스템 및 도구 버전

macOS, Xcode, 명령줄 도구와 직접 관련된 종속성의 버전을 기록하세요. 장치 전체의 소프트웨어 목록을 제출할 필요는 없습니다.

03

발생 시간 및 시간대

문제 발생 시간, 지속 시간과 시간대를 명시하세요. 연결 문제라면 로컬 네트워크 위치와 네트워크 유형도 적어야 합니다.

04

첫 번째 유효 오류

오류 전후의 필요한 맥락을 보존하고 마지막 종료 상태만 잘라내지 말고 첫 번째 실패 정보를 우선 제출하세요.

05

최소 재현 절차

정상으로 알려진 상태에서 시작하여 명령, 화면 조작, 입력과 실제 결과를 순서대로 작성하세요.

06

시도한 조치

재접속, 작업 재시작, 네트워크 전환, 부분 캐시 삭제 또는 구성 복구를 수행했는지 설명하여 현장을 훼손하는 중복 작업을 피하세요.

아직 해결되지 않음

진단 기록을 첨부해 첫 번째 오류부터 지원을 받으세요

구매 전 문의와 일반적인 기술 질문은 support@vmown.com으로 문의할 수 있습니다. 기존 주문 관련 문제는 장치, 노드와 주문 기록을 연결할 수 있도록 콘솔에 로그인해 티켓을 제출하는 것이 우선입니다.