연결 · 마이그레이션 · CI/CD

문제 해결 방법: 연결 확인부터 파이프라인 복구까지

먼저 문제가 발생한 계층을 확인한 뒤 노드, 타임스탬프, 전체 오류와 최근 변경 사항을 수집하세요. ArmMacs 클라우드 Mac의 GUI, 명령줄, Xcode 및 자체 호스팅 Runner에 바로 적용할 수 있는 점검 순서를 안내합니다.

진단 체크리스트

01 노드와 모델 확인

02 로컬 네트워크 상태 기록

03 타임스탬프와 함께 한 번 재현

04 비식별화 로그 수집

05 문의 티켓에 증거 첨부

GUI와 명령줄 모두 지원 전용 물리 노드, 가상 머신 아님 연중무휴 365일 정상 운영

지원 요청 분류

먼저 문제 유형별로 분류하세요

같은 현상도 로컬 네트워크, 노드 시스템, 툴체인 또는 파이프라인 설정에서 발생할 수 있습니다. 가장 가까운 범주를 선택하고 문제 발생 노드, 현지 시간과 시간대, 오류 원문 및 최근 성공 시각을 기록하세요.

오류 원문을 보존하고 ‘사용할 수 없음’이라고만 작성하지 마세요. 로그를 제출하기 전에 비밀번호, 개인 키, 액세스 토큰, 서명 자료 내용과 저장소의 업무 데이터를 삭제하세요.

최초 연결

최초 연결은 네 단계로 완료하세요

네트워크, 자격 증명과 시스템 설정을 동시에 변경하지 마세요. 각 단계를 마칠 때마다 결과를 확인하면 문제가 발생한 지점을 정확히 파악할 수 있습니다.

  1. 01

    자격 증명 수령 및 확인

    콘솔에서 해당 주문을 열고 모델, 노드, 연결 주소, 사용자 이름, 임시 비밀번호 또는 SSH 자격 증명을 확인하세요. 현재 확인 중인 인스턴스가 대상 인스턴스인지, 종료된 주문이나 다른 리전의 주문이 아닌지 확인하세요. 자격 증명은 관리되는 비밀번호 관리자에만 저장하세요.

  2. 02

    로컬에서 노드까지 네트워크 확인

    먼저 로컬 네트워크 유형, 인터넷 출구 환경과 테스트 시간을 기록한 다음 도메인 확인, 대상 주소 도달 가능 여부와 필요한 포트를 점검하세요. 회사 네트워크에서 실패하고 대체 네트워크에서 작동한다면 노드를 반복해서 초기화하지 말고 로컬 방화벽, 프록시 또는 출구 정책을 우선 확인하세요.

  3. 03

    VNC 또는 SSH 연결

    GUI가 필요하면 VNC 원격 데스크톱을 사용하고, 스크립트 실행·저장소 동기화·자동화 연동에는 SSH를 우선 사용하세요. 최초 연결에서는 짧은 세션을 먼저 열어 키보드 입력, 파일 읽기·쓰기와 명령 실행을 확인한 뒤 대용량 데이터 마이그레이션이나 의존성 설치를 시작하세요.

  4. 04

    초기 보안 설정 변경

    즉시 임시 비밀번호를 변경하고 팀 규칙에 따라 SSH 공개 키를 설정하세요. 자격 증명 접근 범위를 제한하고 원격 액세스 설정을 점검하세요. 개인 키, 인증서 암호 또는 파이프라인 토큰을 공유 스크립트, 빌드 로그와 저장소 파일에 기록하지 마세요.

연결 증거

연결 실패 시 최소한 다음 정보를 기록하세요

node: SG / JP / KR / HK / US-W
protocol: VNC or SSH
local_network: office / home / mobile
timestamp: YYYY-MM-DD HH:MM timezone
result: timeout / refused / authentication failed
last_success: YYYY-MM-DD HH:MM timezone

마이그레이션 경로

로컬 Mac에서 재현 가능한 파이프라인으로

마이그레이션은 사용자 디렉터리 전체를 복사하는 작업이 아닙니다. 프로젝트 데이터, 툴체인 정의와 Runner 설정을 분리해 처리하면 환경 차이를 줄이고 대여 기간 종료 전에 완전히 내보내기도 쉽습니다.

경로 01

프로젝트 데이터 마이그레이션

  1. 범위 정리저장소, 필요한 데이터 세트, 설정 템플릿과 빌드 입력만 마이그레이션하고 관련 없는 캐시는 복사하지 마세요.
  2. 용량 계산원본 디렉터리 크기, 파일 수와 체크섬을 기록하고 의존성과 빌드 산출물을 위한 공간을 확보하세요.
  3. 분할 전송소규모 저장소는 먼저 권한과 줄바꿈 형식을 확인하고, 대규모 데이터는 디렉터리별로 나누어 전송 후 표본 점검하세요.
  4. 비밀 정보 분리민감한 자격 증명은 관리되는 방식으로 별도 설정하고 압축 파일, 저장소 또는 일반 동기화 디렉터리에 넣지 마세요.
경로 02

Xcode 및 의존성 재현

  1. 버전 고정Xcode, 명령줄 도구, 언어 런타임과 패키지 관리 도구의 버전을 기록하세요.
  2. 의존성 복원잠금 파일과 실행 가능한 설치 스크립트를 우선 사용하고 로컬 빌드 캐시를 직접 복사하지 마세요.
  3. 기준 빌드 실행먼저 최소 대상을 실행한 뒤 테스트와 전체 아카이브를 수행하고 종료 코드와 로그를 각각 저장하세요.
  4. 체크리스트 정착버전, 설치 순서, 환경 변수 이름과 검증 명령을 팀 운영 매뉴얼에 기록하세요.
경로 03

CI/CD Runner 연동

  1. 전용 실행 환경 생성파이프라인 작업을 일상적인 원격 데스크톱 작업과 분리해 권한 및 디렉터리 충돌을 줄이세요.
  2. 정확한 태그 설정태그에는 최소한 플랫폼, 칩 등급과 Xcode 주 버전을 포함해 작업이 잘못 할당되지 않도록 하세요.
  3. 단일 동시 실행으로 시작먼저 빌드, 테스트, 아카이브와 산출물 반환을 검증한 뒤 동시 실행이 필요한지 평가하세요.
  4. 정리 작업 정의작업 종료 후 임시 자격 증명, 파생 데이터와 불필요한 산출물을 정리하되 필요한 로그는 보존하세요.

Xcode 진단

Xcode 클라우드 빌드는 계층별로 진단하세요

먼저 툴체인을 확인한 다음 권한, 캐시와 스토리지를 점검하세요. 같은 재시도에서 Xcode 업그레이드, 의존성 업데이트와 서명 파일 교체를 동시에 수행하지 마세요. 어떤 변경이 효과를 냈는지 로그로 확인할 수 없게 됩니다.

점검 계층 확인할 사실 권장 작업 문의 증거
버전 선택 Xcode GUI 버전, 명령줄 도구 경로와 프로젝트가 요구하는 SDK가 일치하는지 확인 버전 하나를 고정해 최소 빌드를 완료하고 파이프라인과 대화형 터미널이 같은 경로를 사용하는지 확인 버전 출력, 선택 경로, 실패 대상
서명 파일 파일이 완전하고 유효한지, 대상과 설정이 올바르게 참조하는지 확인 격리된 환경에서 파일을 읽을 수 있는지 확인하고 민감한 내용을 로그에 기록하지 않기 비식별화된 이름, 유효 기간, 오류 원문
인증서 권한 빌드를 실행하는 사용자가 필요한 인증서와 키 자료에 접근할 수 있는지 확인 대화형 빌드 사용자와 Runner 사용자의 권한 환경을 비교해 차이를 좁히기 실행 사용자, 권한 결과, 실패 단계
Derived Data 오래된 캐시가 다른 브랜치, Xcode 버전 또는 빌드 설정에서 생성되었는지 확인 실패 로그를 한 번 저장한 뒤 대상 캐시를 정리하고 같은 명령을 실행해 비교 정리 전후 종료 코드 및 로그 차이
디스크 공간 시스템 볼륨 여유 공간, 아카이브 디렉터리, 시뮬레이터 데이터 및 의존성 캐시 사용량 재생성 가능한 캐시와 만료된 산출물을 먼저 삭제하고 유일한 사본은 삭제하지 않기 실패 직전 여유 공간과 최대 디렉터리
빌드 로그 첫 번째 실제 오류, 실패 대상, 종료 코드와 전후 맥락이 완전한지 확인 원본 텍스트 로그를 저장하고 첫 오류 전후의 관련 행을 추출해 비식별화 명령어, 타임스탬프, 종료 코드, 로그 첨부 파일

로그에는 문제 파악에 필요한 맥락만 보존하세요. 제출 전에 토큰, 비밀번호, 개인 키 내용, 인증서 암호, 내부 저장소 주소와 업무 데이터를 검색해 삭제하세요.

Runner 운영 매뉴얼

두 Runner 유형의 연동 및 정리 기준

ArmMacs는 전용 물리 노드를 제공하므로 작업 디렉터리와 툴체인을 빌드 간 유지할 수 있습니다. 지속성은 캐시, 자격 증명과 오래된 산출물이 자동으로 사라지지 않는다는 의미이기도 하므로 파이프라인에서 정리 범위를 명확히 정의해야 합니다.

GitHub Actions

자체 호스팅 Mac Runner

  1. 등록전용 Runner ID로 등록하고 서비스 시작 후 계속 온라인으로 표시되는지 확인한 다음 Runner 이름과 작업 디렉터리를 기록하세요.
  2. 태그플랫폼 태그를 유지하고 칩 등급, Xcode 주 버전과 용도 태그를 추가하세요. 워크플로는 실제로 필요한 태그 조합만 매칭해야 합니다.
  3. 동시 실행먼저 작업 하나를 직렬로 실행하세요. 여러 Xcode 아카이브를 동시에 실행하면 디스크, 캐시와 서명 리소스를 두고 경쟁해 간헐적 실패가 늘어납니다.
  4. 정리각 작업이 끝날 때 임시 자격 증명과 작업별 파일을 삭제하세요. 캐시는 키와 용량 제한에 따라 유지하고, 아카이브 반환 성공 후 로컬의 만료된 사본을 삭제하세요.
GitLab CI

macOS Runner

  1. 등록Runner의 소속 범위와 실행 방식을 명확히 하고 빌드 사용자의 디렉터리 권한을 확인한 뒤 등록 시간과 설정 요약을 저장하세요.
  2. 태그macOS, 칩 등급, Xcode 주 버전과 작업 유형에 태그를 설정하고 태그 없는 작업이 전용 노드를 잘못 점유하지 못하게 하세요.
  3. 동시 실행초기 동시 실행 수는 1로 설정하세요. 작업 디렉터리, 포트, 캐시와 서명 자료가 완전히 분리된 경우에만 동시 실행 증가를 검토하세요.
  4. 정리작업 종료 단계에서 작업 디렉터리의 비밀 파일과 임시 산출물을 정리하세요. 실패한 작업도 정리를 실행하고 비식별화 로그는 별도로 보존하세요.

출시 전 최소 검증 매트릭스

체크아웃 ✓ 의존성 복원 ✓ 빌드 ✓ 테스트 ✓ 산출물 내보내기 ✓ 비밀 정보 정리 ✓

원격 데스크톱

원격 데스크톱 문제는 먼저 화면·입력·세션으로 구분하세요

VNC 사용성은 로컬 네트워크, 지역 간 경로, 해상도와 화면 변화 빈도의 영향을 함께 받습니다. 문제가 발생하면 먼저 노드와 로컬 네트워크 상태를 기록한 뒤 한 번에 하나의 변수만 변경해 비교하세요.

화면 지연이나 끊기는 스크롤은 어떻게 해결하나요?

노드, 로컬 네트워크 유형, 테스트 시간과 프록시 사용 여부를 기록하세요. 먼저 원격 데스크톱 해상도와 화질을 낮추고 지속적으로 변하는 애니메이션이나 동영상을 끈 뒤 입력 반응을 비교하세요. 대체 네트워크에서 크게 개선되면 로컬 출구 혼잡이나 정책을 확인하고, 여러 네트워크에서 같은 시간대에 동일하면 노드와 타임스탬프를 포함해 문의하세요.

해상도가 맞지 않거나 화면 배율이 이상하면 어떻게 하나요?

먼저 단일 모니터 환경에서 일반적인 해상도를 설정하고 연결을 끊었다가 세션을 다시 시작하세요. 클라이언트 배율 모드와 원격 디스플레이 설정이 동시에 확대되어 있지 않은지 확인하세요. 문제를 녹화해야 한다면 클라이언트 창 크기와 원격 해상도 수치도 함께 보존하세요.

단축키나 기호 입력이 다르면 어떻게 하나요?

로컬과 원격의 키보드 레이아웃을 확인하고 일반 텍스트 편집기에서 문자, 숫자, 기호와 조합 키를 테스트하세요. 특정 앱에서만 문제가 발생하면 앱 이름과 단축키를 기록하고, 모든 앱에서 이상하면 양쪽 레이아웃과 클라이언트 버전 정보를 첨부하세요.

세션이 끊긴 후 즉시 노드를 재시작해야 하나요?

즉시 재시작하지 마세요. 먼저 로컬 네트워크가 전환되었는지, 기기가 절전 상태인지, VNC는 끊겼지만 SSH는 연결되는지 확인하고 중단 시간을 기록하세요. SSH로 접속할 수 있다면 먼저 작업 상태와 관련 로그를 저장하고, 두 프로토콜 모두 연결되지 않을 때 콘솔에서 문의를 제출하세요.

다시 연결하기 전에 어떤 정보를 보존해야 하나요?

노드, 프로토콜, 로컬 네트워크, 클라이언트 버전, 마지막 성공 시각, 중단 시각과 오류 원문을 보존하세요. 재연결 시에는 네트워크 전환이나 해상도 낮추기처럼 조건 하나만 변경하고 결과를 기록해 비교가 무효화되지 않도록 하세요.

스토리지 관리

스토리지·백업 및 대여 기간 종료 전 내보내기

물리 노드의 작업 디렉터리는 빌드와 실험에 적합하지만 코드, 인증서, 모델 또는 빌드 산출물의 유일한 사본으로 사용해서는 안 됩니다. 데이터 마이그레이션, 외부 백업과 최종 내보내기는 사용 팀이 프로젝트 계획에 포함해야 합니다.

01

이관 전 분류

데이터를 저장소에서 복구 가능, 의존성 소스에서 재생성 가능, 반드시 백업, 업로드 금지의 네 가지로 분류하세요. 소스 코드 크기만 보지 말고 프로젝트, 의존성, Derived Data, 아카이브와 로그의 최대 용량을 산정하세요.

02

외부 백업 스냅샷 생성

핵심 코드, 인증서, 모델, 데이터 세트와 최종 산출물은 팀이 관리하는 외부 백업 위치에 저장하세요. 정기적으로 복구를 표본 점검해 백업이 파일 목록만 있고 실제로 사용할 수 없는 상태가 아닌지 확인하세요.

03

민감한 자격 증명 관리

자격 증명은 최소 권한으로 설정하고 사람의 작업과 파이프라인 용도를 구분하세요. 셸 기록, 저장소, 일반 환경 파일 또는 빌드 산출물에 기록하지 말고 교체 후 오래된 사본을 즉시 삭제하세요.

04

캐시 증가 관리

의존성 캐시, Derived Data, 시뮬레이터 데이터와 아카이브의 보존 규칙을 설정하세요. 삭제 전에 재생성 가능한지 확인하고 디스크가 부족하면 만료된 캐시와 이미 반환된 산출물을 우선 처리하세요.

대여 기간 종료 전

대여 기간 종료 전 작업 체크리스트

  • 푸시하지 않은 코드, 데이터 세트, 모델, 아카이브와 테스트 결과 내보내기
  • 외부 사본의 파일 수, 크기와 주요 체크섬 확인
  • Runner를 중지하고 파이프라인에서 해당 실행 노드 제거
  • 토큰, SSH 키 권한과 임시 액세스 자격 증명 철회
  • 노드의 업무 데이터, 비밀 파일과 더 이상 필요하지 않은 로그 삭제
  • 콘솔에서 대여 기간, 갱신 상태와 주문 종료 시간 확인

지원 문의

바로 재현할 수 있는 문의 티켓 제출

대여 노드에 장애가 발생하면 먼저 콘솔에 로그인해 문의를 제출하세요. 콘솔에서 문제를 주문과 연결할 수 있어 모델, 노드와 제공 상태를 확인하기 쉽습니다. 콘솔에 접속할 수 없으면 support@armmacs.com으로 이메일을 보내세요.

ticket-evidence.txt
주문 번호:
모델:
노드:
문제 유형:
발생 시간 및 시간대:
마지막 성공 시간:
재현 단계:
예상 결과:
실제 결과:
오류 원문:
최근 설정 변경:
로컬 네트워크 상태:
첨부 파일: 비식별화 로그 / 스크린샷

재현 단계는 실행 가능하게 작성하세요

실제 순서에 따라 연결 방식, 실행 명령, 대상 프로젝트와 실패 단계를 작성하세요. 문제가 매번 발생하지 않는다면 발생 빈도와 이미 확인한 비교 조건을 설명하세요.

타임스탬프에는 시간대를 포함하세요

전체 날짜, 시, 분과 시간대를 사용하세요. ‘방금’이나 ‘오늘’만으로는 노드 이벤트와 Runner 로그를 정확히 대조할 수 없습니다.

첨부 파일은 먼저 비식별화하세요

스크린샷과 로그에 비밀번호, 개인 키, 토큰, 인증서 암호와 업무 데이터가 포함되어서는 안 됩니다. 오류 원문, 종료 코드와 필요한 맥락만 보존하세요.

진단 준비 완료

노드·타임스탬프·로그를 모두 준비했습니다

콘솔에 로그인해 주문과 연결한 뒤 문의를 제출하세요. 청구는 달러로만 처리되며 USDT-TRC20과 Visa / Mastercard / Amex(Stripe 경유)를 지원합니다. 실제 이용 가능한 결제 게이트웨이는 콘솔에 표시되는 결과를 기준으로 합니다.