연결 점검표
동일한 자격 증명 세트를 개인 세션과 자동화 작업에 동시에 제공하지 마세요. 먼저 취소 가능한 전용 계정을 만든 다음 Runner를 연결하세요.
먼저 작업에 명령줄, 그래픽 데스크톱 또는 무인 실행 중 무엇이 필요한지 판단한 뒤 해당 경로에 따라 자격 증명, 도구 체인과 권한을 확인하세요. VMRunner는 가상 머신이 아닌 전용 Apple Silicon 물리 노드를 제공합니다. 연결 정보는 콘솔에서 전달된 주문을 기준으로 합니다.
동일한 자격 증명 세트를 개인 세션과 자동화 작업에 동시에 제공하지 마세요. 먼저 취소 가능한 전용 계정을 만든 다음 Runner를 연결하세요.
명령줄은 빈번하고 스크립트화 가능한 작업에 적합하며, 그래픽 세션은 대화형 도구에 사용하고 지속 작업은 전용 Runner에 맡기세요. 작업을 나누면 권한 경계가 명확해지고 연결 문제도 쉽게 파악할 수 있습니다.
Git 작업, 종속성 설치, 로그 확인, 스크립트 실행과 빌드에 적합합니다. 대역폭 사용량이 적고 연결이 끊겨도 복구하기 쉽습니다.
Xcode UI 디버깅, 시뮬레이터 확인, 오디오·비디오 프로젝트 처리와 창 상태를 직접 확인해야 하는 작업에 적합합니다. 해상도가 높을수록 로컬 네트워크 요구 사항이 커집니다.
테스트, 아카이브, 서명과 산출물 전송에 적합합니다. Runner는 전용 계정으로 실행하고 환경 변수는 작업별로 주입하며 개인 데스크톱 세션과 자격 증명을 공유하지 않습니다.
원격 연결 문제를 조사할 때 가장 흔한 시간 낭비는 복잡한 장애가 아니라 노드 주소, 계정 용도 또는 로컬 네트워크 기준이 불분명한 경우입니다. 첫 연결 전에 다음 정보를 기록해야 이후 어느 계층에서 변화가 발생했는지 판단할 수 있습니다.
주문 식별자, 노드 도시, 노드 주소, 계정 용도, 호스트 지문 확인 결과와 최초 연결 성공 시간을 기록하세요. 개인 키는 관리되는 기기에만 보관하고 티켓, 채팅 기록 또는 코드 저장소에 저장하지 마세요.
콘솔에서 주문 상태와 연결 정보를 확인하세요. 제공이 완료되기 전에는 이전 주소나 다른 사람이 기록한 정보로 연결을 시도하지 마세요.
개인 작업, 자동화 작업과 임시 협업에는 각각 취소 가능한 계정 또는 키를 사용하고 하나의 장기 자격 증명을 공유하지 마세요.
유선 및 무선 네트워크에서 지연 시간, 패킷 손실과 안정성을 기록하세요. 그래픽 세션이 끊길 때는 먼저 이 기준과 비교하세요.
개발 계정에는 작업 디렉터리에 필요한 권한만 부여하고 Runner 계정은 빌드 디렉터리, 캐시와 필요한 서명 리소스에만 접근하도록 하세요.
첫 연결의 목표는 경고를 서둘러 건너뛰는 것이 아니라 현재 주소가 실제로 제공된 노드에 해당하는지 확인하는 것입니다. 지문 확인을 마친 뒤 별칭, 연결 유지 정책과 최소 권한 계정을 설정하세요.
ssh-keyscan -t ed25519 NODE_ADDRESS
ssh USER@NODE_ADDRESS
처음 확인한 지문을 콘솔의 제공 정보와 대조하세요. 주소 변경 또는 시스템 재설치 후 지문이 달라졌다면 먼저 원인을 확인하고 로컬 기록을 바로 삭제한 뒤 계속 연결하지 마세요.
ssh-keygen -t ed25519 -a 64
ssh-copy-id USER@NODE_ADDRESS
VMRunner 노드 전용 키를 별도로 생성하세요. 개인 키에는 로컬 암호를 설정하고 저장소에 커밋하지 않으며 Runner 배포 키와 함께 사용하지 마세요.
Host vmrunner-build
HostName NODE_ADDRESS
User ACCOUNT_NAME
IdentityFile ~/.ssh/vmrunner_ed25519
ServerAliveInterval 30
ServerAliveCountMax 3
별칭을 사용하면 주소를 잘못 입력하는 일을 줄일 수 있습니다. 연결 유지 매개변수는 연결 끊김을 감지할 뿐 이미 중단된 프로세스를 자동으로 복구하지 않습니다. 장시간 작업은 작업 관리자나 CI Runner에 맡기세요.
관리자 권한을 일상적인 기본값으로 설정하지 마세요. 종속성 설치, 시스템 설정과 파이프라인 실행에는 서로 다른 계정을 사용하고 임시 권한 상승이 끝나면 즉시 일반 권한으로 돌아가 변경 내용을 기록하세요.
원격 데스크톱은 Xcode, 시뮬레이터 또는 타임라인 UI를 반드시 확인해야 하는 작업에 적합하며 모든 백그라운드 작업을 대신해서는 안 됩니다. 먼저 낮은 해상도로 안정적인 세션을 만든 뒤 화질을 단계적으로 높이세요.
도구 창이 모두 표시되는 가장 낮은 설정부터 선택하고 입력 지연과 화면 새로 고침을 확인하세요.
네트워크가 불안정할 때는 시각 효과를 낮추고 대역폭을 작업 피드백과 파일 동기화에 우선 사용하세요.
위험이 없는 텍스트 창에서 자주 쓰는 단축키를 테스트한 뒤 서명, 삭제 또는 게시 작업으로 이동하세요.
중단 후에는 먼저 기존 세션 상태를 확인해 도구가 중복 실행되거나 동일한 작업 디렉터리를 점유하지 않도록 하세요.
모든 코드, 인증서, 캐시와 파이프라인을 한 번에 옮기지 마세요. 각 단계에서 검증 가능한 결과를 남기고 이전 단계가 통과한 뒤 다음 단계로 진행하세요.
먼저 저장소, 잠금 파일, 필요한 에셋과 빌드 스크립트를 동기화하세요. 대형 캐시와 다시 다운로드할 수 있는 종속성은 첫 번째 이전 대상에서 제외합니다.
Xcode, 명령줄 도구, 패키지 관리자, 인증서와 프로비저닝 프로파일을 확인하세요. 먼저 소규모 테스트 대상을 실행하고 전체 릴리스 파이프라인은 바로 실행하지 마세요.
전용 Runner 계정을 만들고 환경 변수 접근 범위를 제한한 뒤 롤백 가능한 테스트 작업을 한 번 실행해 산출물을 전송하세요.
동일한 코드가 두 Mac에서 다르게 작동하는 원인은 대개 도구 버전, 경로, 캐시 또는 권한 차이입니다. 다음 항목을 첫 정식 빌드 전에 하나씩 기록하세요.
xcodebuild -version
버전이 프로젝트 기준과 일치
xcode-select -p
경로가 대상 Xcode를 가리킴
Runner는 개발자의 데스크톱 계정을 재사용해서는 안 됩니다. 독립된 신원을 사용하면 권한 취소, 캐시 정리와 파일 소유자 문제 파악이 쉬워지고 개인 세션이 파이프라인에 미치는 영향도 줄어듭니다.
CI 문제 해결 보기계정은 저장소 작업 영역, 종속성 캐시, 빌드 디렉터리와 필요한 서명 리소스에만 접근하며 일상적인 관리자 권한은 부여하지 않습니다.
파이프라인 플랫폼의 등록 절차를 사용해 현재 노드에 연결하고 Runner에 칩, 시스템과 작업 유형을 식별할 수 있는 태그를 설정하세요.
변수는 저장소, 환경과 작업 범위에 따라 설정하세요. 로그에서는 민감한 값을 숨기고 전체 설정 파일을 빌드 기록에 직접 출력하지 마세요.
종속성이 적고 실행 시간이 짧은 대상부터 시작해 종료 코드, 테스트 결과, 캐시 적중 여부와 작업 디렉터리 정리 상태를 확인하세요.
산출물 이름, 생성 커밋, 체크섬과 저장 위치를 기록하세요. 전송 성공을 확인한 뒤 전체 파이프라인으로 확대하세요.
정식 사용 전에 자격 증명, 공유 범위, 백업과 복구 정보를 다시 확인하세요. 모든 계정, 세션 또는 자동화 작업을 개별적으로 취소할 수 있는지 확인하는 것이 목표입니다.
첫 확인을 마친 뒤 초기 비밀번호 또는 키를 교체하고 더 이상 필요하지 않은 임시 권한을 삭제한 다음 자격 증명 용도와 담당자를 기록하세요.
사용자별 및 Runner별로 독립된 신원을 사용하세요. 권한이 바뀌면 해당 계정만 취소해 다른 워크로드에 영향을 주지 않도록 하세요.
코드는 원격 저장소를 기준으로 관리하고 서명 자료, 프로젝트 에셋과 핵심 산출물은 팀 정책에 따라 백업한 뒤 정기적으로 복구 절차를 검증하세요.
더 이상 사용하지 않는 그래픽 세션을 잠그고 닫으며 임시 서비스를 중지하고 백그라운드 작업에 명확한 소유자가 있는지 확인하세요.
문제를 신속하게 파악할 수 있도록 주문 식별자, 노드 도시, 계정 용도, 도구 버전과 최근 정상 빌드를 기록하세요.
주문 식별자, 노드 도시, 발생 시간, 재현 단계, 민감 정보가 제거된 로그와 예상 결과를 제출하세요. 개인 키, 전체 액세스 토큰, 인증서 암호 또는 민감 정보가 제거되지 않은 설정 파일은 보내지 마세요.
자격 증명 확인, 도구 버전 기록과 테스트 산출물 전송을 완료한 뒤 정식 프로젝트를 전용 Apple Silicon 물리 노드로 이전하세요.