MangoVM 엔지니어링 가이드

원격 Mac CI 디스크 공간 부족? 2026년 점검 가이드

원격 Mac CI 디스크 공간 부족? 2026년 점검 가이드

먼저 실제 점유 디렉터리를 확인한 뒤, 다시 만들 수 있다고 검증된 데이터만 정리하세요. 전체 Xcode 폴더나 아카이브를 통째로 지우는 방식은 피해야 합니다. 자체 호스팅 러너라면 작업이 끝난 뒤의 정리와 여유 공간 경고도 함께 운영하세요.

iOS와 macOS 개발자: 원격 빌드나 아카이브가 실패하는 원인을 분리해 찾을 수 있습니다.
CI 엔지니어: 지속 실행 중인 macOS 러너의 작업 잔여물 관리에 참고할 수 있습니다.
소규모 팀 운영자: 정리, 워크플로 조정, 호스트 용량 변경 중 무엇이 필요한지 판단할 수 있습니다.

오류가 난 단계와 로그부터 보존합니다

“디스크 공간 부족”이라는 문구만으로 원인을 확정하지 마세요. 빌드 중 임시 파일을 쓰지 못한 경우, 아카이브를 저장하지 못한 경우, 호스트가 공간 경고를 표시한 경우는 서로 다른 문제일 수 있습니다. 실패 단계와 작업 디렉터리, 관련 로그를 먼저 기록하세요.

한 번의 작업에서만 실패했는지, 여러 작업을 거치며 여유 공간이 계속 줄었는지도 구분해야 합니다. 특정 프로젝트의 빌드에서만 재현되면 프로젝트 산출물이나 작업 공간을 먼저 살펴보세요. 여러 저장소에서 반복되면 러너에 남은 데이터나 공용 개발 환경을 확인하는 편이 맞습니다.

실제 점유량을 측정합니다

macOS의 저장 공간 화면은 전체 상황을 살피는 데 도움이 됩니다. 다만 범주별 표시만 보고 원인 디렉터리를 단정하지 마세요. Apple의 Mac 저장 공간 확인 안내를 참고하되, 실제 작업 경로와 파일 접근 권한도 함께 확인해야 합니다.

터미널에서 아래 명령으로 파일 시스템의 여유 공간을 확인할 수 있습니다.

df -h

Xcode가 기본 경로를 사용하고 있다면 개발 데이터와 작업 공간을 따로 측정하세요.

du -sh "$HOME/Library/Developer/Xcode/DerivedData"
du -sh "$HOME/Library/Developer/Xcode/Archives"
du -sh "$GITHUB_WORKSPACE" 2>/dev/null

작업 공간 변수의 이름과 경로는 러너 설정에 따라 다를 수 있습니다. 변수가 비어 있거나 권한 오류가 발생하면 실제 체크아웃 경로를 확인하세요. Xcode가 다른 위치를 사용하도록 설정된 환경에서는 위 경로만 측정해도 충분하지 않습니다.

확인할 값은 파일 시스템의 전체 크기, 사용량과 여유 공간, 의심 디렉터리의 점유량입니다. 측정 결과를 작업 시간과 함께 남기면 한 번의 실패인지 누적 문제인지 비교할 수 있습니다. Xcode가 생성하는 파일의 위치와 구성이 다를 수 있다는 점은 Xcode의 빌드 및 실행 문서도 함께 확인하세요.

Xcode 생성 데이터와 아카이브를 구분합니다

DerivedData에는 프로젝트별 빌드 산출물과 인덱싱 데이터, 로그 등이 포함될 수 있습니다. 아카이브는 별도 용도의 보관 데이터입니다. 이름이 비슷한 개발 폴더라고 같은 기준으로 삭제하면 안 됩니다. Apple은 Xcode 아카이브 관련 안내와 아카이브 저장 위치에 관한 문서에서 아카이브를 별도의 빌드 결과로 다룹니다.

DerivedData를 정리할 때도 다른 작업이 진행 중인지 먼저 확인하세요. 인덱스와 빌드 결과가 재생성 가능한지, 실패 원인 조사에 로그가 필요한지 점검한 다음 대상 프로젝트의 데이터만 후보로 삼습니다. 아카이브는 배포, 테스트 또는 보존에 필요한 결과인지 확인하고 보관 정책에 따라 판단하세요. 아카이브가 용량을 차지한다고 해서 일괄 삭제하는 것은 안전한 기본 절차가 아닙니다.

정리 대상은 폴더 이름이 아니라 용도와 재생성 가능성을 기준으로 정하세요. 권한이 없거나 사용 중인 파일은 강제로 지우지 말고, 호스트 관리자와 작업 소유자에게 확인합니다.

시뮬레이터와 프로젝트 산출물을 따로 살핍니다

시뮬레이터 관련 데이터는 런타임, 기기별 데이터, 프로젝트의 빌드 결과로 나누어 확인하세요. 테스트에서 현재 사용 중인 런타임이나 기기 데이터를 임의로 지우면 테스트 환경 자체가 달라질 수 있습니다. Xcode에서 설치된 구성 요소를 확인하고 필요 없는 항목을 판단할 때는 추가 Xcode 구성 요소 안내와 시뮬레이터 추가 문서를 참고하세요.

먼저 Xcode의 구성 요소 관리 화면과 대상 테스트 설정에서 사용 중인 iOS 시뮬레이터 런타임을 확인합니다. 그다음 테스트 대상이 실제로 참조하는 기기 데이터인지 살펴보세요. 삭제 전후 점유량을 기록하고, 사용하지 않는다고 확인된 항목부터 정리합니다. 시스템이 관리하거나 테스트가 진행 중인 경로를 직접 지우는 방식은 피하세요.

러너 유형에 맞춰 작업 잔여물을 관리합니다

호스팅 러너와 자체 호스팅 러너는 작업 간 데이터가 남는 방식이 다릅니다. GitHub Actions를 사용한다면 작업에 사용할 러너 선택 안내에서 러너 유형을 확인하세요. 호스팅 러너는 새 작업 인스턴스를 기준으로 동작하지만, 지속 실행하는 자체 호스팅 러너의 작업 공간과 캐시는 운영자가 점검해야 합니다. 자체 호스팅 러너 문서도 유지 관리 책임을 구분해 설명합니다.

캐시를 무조건 없애기보다 저장소와 작업별로 정리 범위를 정하세요. 작업 공간, 재사용 캐시, 빌드 산출물, 자격 증명은 서로 다른 데이터입니다. 특히 자격 증명 디렉터리를 캐시 정리 대상으로 묶지 말고, 보관이 필요한 테스트 결과와 아카이브도 따로 취급해야 합니다. 컨테이너를 사용하는 환경은 자체 호스팅 러너의 컨테이너 설정 안내에 따라 실제 작업 격리와 저장 경로를 확인하세요.

관찰된 상황 먼저 확인할 곳 정리 판단
빌드 중 공간 오류 작업 공간과 DerivedData 필요한 로그와 산출물을 확인한 뒤 재생성 가능한 데이터만 검토합니다
아카이브 저장 실패 아카이브 대상 경로와 여유 공간 보관 필요성과 저장 위치를 확인하고 기존 아카이브는 보존 기준에 따라 판단합니다
시뮬레이터 테스트 뒤 공간 감소 런타임, 기기 데이터, 프로젝트 산출물 현재 테스트가 참조하는 항목인지 먼저 확인합니다
반복 작업 뒤 공간이 계속 감소 자체 호스팅 러너의 작업 공간과 캐시 작업별 보존 기준과 정리 절차를 분리해 설정합니다

정리와 재검증을 실행합니다

다음 항목을 순서대로 확인하면 과도한 삭제를 피하면서 해결 여부를 검증할 수 있습니다.

문제가 사라졌는지는 용량이 늘었는지만으로 판단하지 마세요. 기존에 실패한 작업이 완료되고 산출물이 예상 위치에 저장되는지 확인해야 합니다. 재실행 결과와 여유 공간 변화가 맞지 않으면 다른 파일 시스템이나 사용자 권한, 작업 경로를 다시 살펴보세요.

자주 묻는 점

원격 Mac에서 Xcode 빌드가 공간 부족으로 실패하면 어디부터 확인하나요?

실패한 단계와 로그를 먼저 보존한 다음 파일 시스템 여유 공간을 확인합니다. 그 뒤 작업 공간, DerivedData, Archives, 시뮬레이터 데이터를 각각 측정하세요. 같은 오류라도 임시 빌드 파일을 쓰지 못한 상황과 아카이브 저장 실패는 다를 수 있습니다. 점유량과 재실행 조건을 확인하기 전에 특정 폴더를 삭제하지 마세요.

macOS CI에서 DerivedData를 바로 지워도 되나요?

재생성 가능한지 확인한 프로젝트의 데이터만 정리 후보로 삼을 수 있습니다. Xcode 작업을 멈추고 대상 경로와 로그 보존 필요성을 확인하세요. DerivedData에는 빌드 결과와 인덱스, 로그 등이 포함될 수 있습니다. 따라서 개발 폴더 전체를 삭제하거나, 조사에 필요한 데이터를 확인 없이 없애는 방식은 기본 절차로 삼지 않는 것이 안전합니다.

자체 호스팅 macOS 러너에서 캐시가 계속 쌓이지 않게 하려면 어떻게 하나요?

작업 완료 뒤 작업 공간과 재사용 캐시의 정리 기준을 각각 정하고, 작업 전후의 점유량을 기록하세요. 보존해야 하는 산출물이나 자격 증명은 캐시와 분리해야 합니다. 프로젝트와 작업의 위험에 따라 보존 범위를 정하고, 여유 공간이 줄어드는 추세를 운영자가 확인하도록 경고 절차를 마련하면 반복 누적을 더 빨리 발견할 수 있습니다.

시뮬레이터 데이터를 정리한 뒤 빌드 복구를 어떻게 확인하나요?

정리 전후의 여유 공간을 비교한 뒤, 실패했던 프로젝트의 빌드와 시뮬레이터 테스트를 다시 실행하세요. 필요한 워크플로라면 아카이브 저장과 다음 CI 작업의 시작 여부도 확인해야 합니다. 현재 테스트가 사용 중인 런타임이나 기기 데이터는 지우지 마세요. 빌드 결과와 테스트 환경이 모두 정상인지 확인해야 정리 효과를 판단할 수 있습니다.

다음 조치

실패했던 작업을 다시 실행해도 공간이 계속 줄거나, 반복적인 정리만으로는 작업량을 감당하기 어렵다면 현재 호스트의 용량과 CI 부하가 맞는지 점검하세요. 자체 호스트는 작업 공간 정리, 캐시 정책, 저장 공간 경고를 계속 운영해야 합니다. 반면 임시 빌드 환경이 필요한 경우에는 호스트 유지 관리 부담을 덜 수 있지만, 장기간 일정한 부하나 물리 장치 연결이 필요한 작업에는 맞지 않을 수 있습니다.

현재 Mac의 제한된 저장 공간은 빌드와 테스트가 겹칠 때 여유가 줄 수 있고, 자체 호스팅 환경은 잔여 데이터와 용량 경고를 직접 관리해야 합니다. 작업량에 맞는 원격 환경을 검토하려면 MangoVM의 Mac 환경을 살펴보고, 접속이나 운영 관련 질문은 도움말 안내에서 확인하세요.

자주 묻는 질문

원격 Mac에서 Xcode 빌드가 공간 부족으로 실패하면 어디부터 확인해야 하나요?

먼저 실패 단계와 로그를 보존하고 파일 시스템의 여유 공간을 확인합니다. 이어서 작업 공간, Xcode의 DerivedData와 Archives, 시뮬레이터 데이터를 각각 따로 측정하세요. 같은 오류 문구라도 빌드 중 임시 파일 쓰기 실패와 아카이브 저장 실패는 원인이 다를 수 있습니다. 특정 폴더를 지우기 전에 실제 점유량과 해당 작업의 재실행 가능성을 확인해야 합니다.

macOS CI에서 DerivedData를 바로 삭제해도 괜찮나요?

DerivedData에는 인덱스와 로그, 빌드 결과가 포함될 수 있어 재생성이 가능한 데이터인지 먼저 확인해야 합니다. 진행 중인 Xcode 작업을 멈추고 대상 프로젝트와 경로를 확인한 뒤, 필요한 빌드 결과나 조사 로그가 남아 있는지 살펴보세요. 전체 개발 폴더를 한꺼번에 지우는 방식은 Archives나 다른 프로젝트 데이터까지 포함할 수 있으므로 기본 해결책으로 삼지 않는 편이 안전합니다.

자체 호스팅 macOS 러너에서 빌드 캐시가 계속 쌓이지 않게 하려면 어떻게 하나요?

작업이 끝난 뒤 작업 공간과 캐시를 별도 기준으로 점검하고, 삭제 범위는 저장소와 작업의 위험도에 맞춰 정하세요. 자격 증명이나 보존이 필요한 산출물을 캐시와 같은 대상으로 취급하면 안 됩니다. 작업 전후의 여유 공간과 주요 디렉터리 점유량을 기록하면 누적 원인을 찾기 쉽습니다. 반복 작업에 맞춰 정리 주기와 공간 경고 조건도 운영 규칙으로 남기세요.

시뮬레이터 데이터를 정리한 뒤 Xcode 빌드가 정상으로 돌아왔는지 어떻게 확인하나요?

정리 전후의 여유 공간을 비교하는 것만으로는 복구를 확인할 수 없습니다. 문제가 났던 프로젝트에서 대표 빌드와 시뮬레이터 테스트를 다시 실행하고, 필요한 경우 아카이브 저장까지 확인하세요. 산출물이 예상 위치에 생성되는지, 다음 작업도 같은 러너에서 시작되는지 살펴보면 임시 회복과 실제 해결을 구분할 수 있습니다. 사용 중인 런타임이나 기기 데이터는 먼저 확인하고 정리해야 합니다.

더 읽어보기

전용 물리 노드

디스크 여유가 필요한 원격 맥 빌드 환경을 준비하세요

MangoVM의 전용 물리 맥 미니에서 빌드 작업을 실행하고 캐시와 작업 환경을 한곳에 유지하세요.

구성 선택 및 주문