개통 정보 및 자격 증명 확인
콘솔에서 현재 인스턴스의 호스트 주소, 포트와 사용자 이름을 복사해 이전 주문 정보와 혼용하지 않았는지 확인하세요. 입력기, 대소문자, 앞뒤 공백과 비밀번호 관리자의 자동 입력 결과도 점검하세요. 비밀번호, 개인 키 또는 전체 연결 문자열을 스크린샷과 티켓 본문에 넣지 마세요.
문제 분류
여러 변수를 한 번에 변경하지 마세요. 매번 연결 방식, 클라이언트 설정, 빌드 매개변수 또는 네트워크 경로 중 하나만 조정하고 변경 전후 결과를 보관하세요.
자격 증명 거부, 포트 연결 실패, 화면 이상, 입력 지연 또는 세션 끊김
연결 점검 시작그래픽 세션, 권한, 디스크 마운트, 시간 설정 또는 프로세스 상태가 예상과 다릅니다.
시스템 상태 확인Runner 오프라인, 대기열 정체, 의존성 캐시 무효화, 서명 환경 또는 패키징 단계 실패
빌드 점검 시작패킷 손실, 지터, DNS 조회 오류, 경로 변경 또는 불안정한 업로드·다운로드 성능
진단 워크벤치 열기용량 계획, 확장 SSD 인식, 캐시 정리, 백업 및 임대 종료 전 마이그레이션
스토리지 및 데이터 확인주문 ID, 액세스 자격 증명, 청구 기록, 결제 결과 또는 콘솔 작업을 확인해야 합니다.
지원 요청 준비원격 연결 문제 해결
먼저 연결 대상이 정확한지 확인한 다음 포트와 클라이언트를 점검하세요. 자격 증명을 반복해서 재설정하며 네트워크나 세션 계층의 문제를 가리지 마세요.
콘솔에서 현재 인스턴스의 호스트 주소, 포트와 사용자 이름을 복사해 이전 주문 정보와 혼용하지 않았는지 확인하세요. 입력기, 대소문자, 앞뒤 공백과 비밀번호 관리자의 자동 입력 결과도 점검하세요. 비밀번호, 개인 키 또는 전체 연결 문자열을 스크린샷과 티켓 본문에 넣지 마세요.
로컬 터미널에서 nc 를 사용해 지정 포트를 확인하세요. TCP 연결이 성공했다는 것은 포트에 도달할 수 있다는 뜻일 뿐 그래픽 세션이 정상이라는 의미는 아닙니다. 시간 초과가 발생하면 로컬 네트워크, 통신사와 대상 노드를 계속 기록하세요.
nc -vz "$TARGET_HOST" "$TARGET_PORT"
인스턴스가 실행 중이고 그래픽 세션 서비스가 작동하며 현재 계정에 원격 세션 권한이 있는지 확인하세요. 명령줄에는 연결되지만 화면을 열 수 없다면 네트워크 설정을 계속 바꾸기보다 그래픽 서비스, 클라이언트 협상 또는 남은 세션 문제로 범위를 좁히세요.
먼저 단일 모니터, 낮은 해상도와 낮은 화질로 기준 상태를 만든 뒤 배율, 색상 품질과 다중 모니터 설정을 하나씩 복원하세요. 낮은 해상도에서는 안정적이고 높은 해상도에서 끊긴다면 지연, 패킷 손실과 클라이언트 인코딩 설정도 함께 수집하세요.
클라이언트를 정상적으로 종료하고 이전 연결이 해제될 때까지 기다린 후 세션을 다시 만드세요. 여러 클라이언트가 같은 그래픽 세션에 동시에 연결되지 않도록 하세요. 끊김이 재현되면 분 단위의 정확한 시간, 클라이언트 버전, 네트워크 전환 여부와 명령줄 연결에도 동시에 영향이 있었는지 기록하세요.
CI/CD 문제 해결
프로젝트 키를 읽지 않고 의존성을 설치하지 않는 최소 작업을 먼저 실행하세요. 최소 작업이 성공하면 저장소, 캐시, 서명 자료와 아카이브 단계를 한 계층씩 추가하세요.
Runner가 올바른 프로젝트 또는 조직에 등록되어 있는지, 태그가 일치하는지, 실행기가 온라인인지 확인하세요. 작업이 계속 대기 중이라면 전체 파이프라인을 바로 다시 실행하지 말고 먼저 태그와 동시 실행 제한을 확인한 다음 Runner 프로세스를 점검하세요.
ps aux | grep -i runner
launchctl list | grep -i runner
빌드 프로세스에서 사용하는 계정, 키체인 검색 경로, 인증서 가시성과 프로비저닝 프로파일 범위가 일치하는지 확인하세요. 로그에는 인증서 이름, 실패 단계와 오류 텍스트만 남기고 제출 전에 비밀번호, 개인 키 내용과 전체 서명 자료를 제거하세요.
security list-keychains
security find-identity -v -p codesigning
의존성 캐시, 파생 데이터와 최종 산출물을 서로 다른 디렉터리에 두세요. 캐시 적중에 이상이 있으면 먼저 캐시 키와 디렉터리 사용량을 기록한 후 단일 프로젝트만 정리해 비교 기준을 보존하세요.
du -sh "$CACHE_PATH"
df -h
find "$CACHE_PATH" -maxdepth 1 -type d
대기 시작, 실제 실행과 종료 시간을 기록해 ‘작업을 할당받지 못함’과 ‘작업은 시작했지만 출력이 오래 없음’을 구분하세요. 전자는 태그, 동시 실행 수와 Runner 상태를, 후자는 스크립트 대기, 네트워크 의존성과 하위 프로세스를 중점적으로 확인합니다.
실패 단계 전후의 로그를 각각 최소 50줄씩 보관하고 명령어 종료 코드, 도구 버전과 프로젝트에서 공개 가능한 최소 재현 매개변수를 함께 첨부하세요. 오류 팝업 스크린샷 한 장만 제출하거나 토큰, 저장소 자격 증명과 업무 데이터가 포함된 전체 로그를 업로드하지 마세요.
xcodebuild -version
sw_vers
uname -m
첫 실패 후 원본 로그를 먼저 저장한 다음 동일한 커밋과 매개변수로 한 번만 재시도하세요. 재시도에 성공하면 네트워크 요청, 캐시 적중과 실행 시간을 비교하고, 계속 실패하면 단일 명령으로 범위를 좁혀 입력값, 종료 코드와 소요 시간을 기록하세요.
네트워크 진단 워크벤치
한 번의 ping으로는 연결 품질을 판단할 수 없습니다. 문제가 발생한 동안과 복구된 후 각각 결과를 수집하고 로컬 네트워크, 대상 주소와 명령어 매개변수를 동일하게 유지하세요.
데이터 패킷 20개를 연속 전송하고 최소값, 평균값, 최대값과 손실률을 저장하세요.
ping -c 20 "$TARGET_HOST"
경로 결과는 어느 홉부터 지연 시간이 변하는지 파악하는 데 사용합니다. 일부 라우터가 탐색에 응답하지 않아도 연결이 끊겼다는 뜻은 아닙니다.
traceroute "$TARGET_HOST"
조회 결과, 응답 시간과 현재 사용하는 DNS 서버를 기록해 이름 해석 문제와 대상 포트 문제를 구분하세요.
dig "$TARGET_HOST"
scutil --dns
macOS 기본 도구로 업로드·다운로드 용량, 응답 성능과 유휴 지연 시간을 수집하세요. 테스트 중에는 대용량 파일 동기화와 기타 고대역폭 작업을 일시 중지하세요.
networkQuality -v
스토리지 및 데이터 관리
스토리지 문제는 단순한 용량 수치만으로 판단할 수 없습니다. 첫 빌드 전에 디렉터리 경계, 쓰기 권한, 복구 가능한 사본과 마이그레이션 시간을 모두 정해야 합니다.
확장 스토리지를 추가한 후 시스템이 장치를 인식하는지, 볼륨이 마운트되었는지, 파일 시스템에 쓸 수 있는지 먼저 확인한 뒤 빌드 디렉터리를 변경하세요. 작업 중에는 캐시 또는 산출물 경로를 전환하지 마세요.
diskutil list
df -h
mount
서비스 가용성
상태 기록은 서비스 측 영향 범위를 판단하는 데 사용됩니다. 구체적인 측정 기간, 제외 항목, 신청 조건, 서비스 크레딧과 적용 범위는 서비스 약관을 따릅니다.
노드는 연중 365일 정상 운영됩니다. 불가항력, 사용자 조작, 사용자 측 네트워크와 워크로드 설정으로 인한 영향은 플랫폼 가용성에 포함되지 않습니다.
주문이 플랫폼 측 서비스 이벤트의 영향을 받았다고 판단되면 주문 ID, 노드, 최초 발견 시간, 복구 시간과 연속 탐색 기록을 보관해 콘솔 티켓으로 제출하세요. 서비스 크레딧 적용 여부와 방식은 서비스 약관의 구체적인 규정을 따릅니다.
서비스 약관 확인지원 요청 제출
기술 지원 요청은 하나의 문제를 중심으로 작성하세요. 서로 다른 노드, 주문 또는 장애 단계는 시간 순서가 서로 겹치지 않도록 나누어 설명하세요.
콘솔의 주문 또는 인스턴스 ID를 제공하고 계정 비밀번호는 보내지 마세요.
싱가포르, 일본(도쿄), 한국(서울) 또는 홍콩을 명확히 기재하세요.
날짜, 시간대, 시작 시간, 지속 시간과 현재 복구 여부를 포함하세요.
무엇이 발생해야 했는지와 실제로 무엇을 확인했는지 각각 설명하세요. ‘사용할 수 없음’이라고만 작성하지 마세요.
정상 상태에서 문제가 발생하기까지의 가장 짧은 단계와 재시도 시 일관되게 재현되는지를 적으세요.
오류 단계 전후의 로그, 명령어 종료 코드와 필요한 스크린샷을 첨부하고 토큰, 비밀번호, 개인 키, 결제 자격 증명과 업무 데이터를 제거하세요.
오류 코드, 시간, 명령어 이름, 도구 버전, 경로 구조와 종료 코드는 남기고 액세스 토큰, 비밀번호, 개인 키, 저장소 주소의 자격 증명, 실명과 업무 데이터를 대체하세요. 민감정보 제거 후에는 일반적인 키 접두사와 이메일 주소를 다시 검색하세요.
최소한 연속 ping 1세트, traceroute 1회, 문제 발생 시간, 대상 노드, 현지 도시와 통신사를 첨부하고 유선, Wi-Fi 또는 모바일 핫스팟으로 전환한 뒤 결과가 달라졌는지 설명하세요.
대부분 필요하지 않습니다. 먼저 실패한 명령어, 종료 코드, 전후 로그, 도구 버전과 최소 재현 단계를 제공하세요. 샘플이 꼭 필요하다면 업무 코드, 키, 서명 자료와 운영 데이터를 제거하고 문제를 재현하는 최소 구조만 남기세요.