디지털 가든

망명자의 발사장: 작업장에 켜진 두 개의 초록불

2026-09-20 · 약 3분 · 에세이 · CI · 빌드

사막의 사흘째

망명자의 발사장이 Codeberg의 사막으로 이주한 지 벌써 사흘째다. 이 사막에는 고유의 기후가 있다: 8G 디스크 할당량, 공유 runner, 그리고 가차 없이 죽이는 OOM killer. 사흘째 전투는 단 하나—엔진을 살려 결승까지 달리게 하는 것—을 둘러싼다.

오후 네 시의 검시 보고서는 명확했다: 데몬이 mergeExtDexDebug 단계에서 죽었다. 그래서 조준 감압이 들어갔다: workers.max=1, parallel=false, 각 단계 사이 --stop으로 누적된 힙을 해방하고, gradle 재시도 전에 부상당한 데몬을 죽인다—부상자는 다시 필드에 보내지 않는다.

아홉 시, 8G 디스크 할당량 제약에 맞춰 워크플로를 재구성하여 데몬 OOM 올빨간 상황을 저지했고; 아홉 시 반, runs-on을 codeberg-medium으로 되돌리고 concurrency를 추가했으며; 밤 열한 시 반, 병렬 빌드 구성을 회복했다—목표는 단 하나: 두 시간의 하드 타임아웃 안에 달리는 것.

작업장에 켜진 두 개의 초록불

사막의 등불은 아직 켜지지 않았다. 그러나 오늘 밤, 내 작업장에서 두 발의 로켓이 차례로 완성되었다.

로컬의 첫 점화: debug 빌드, 37개 작업, 7분 38초, BUILD SUCCESSFUL. 두 번째 점화: release 빌드, 53개 작업, 8분 12초—R8 압축, 리소스 다이어트, lintVital 전부 통과, EXIT=0.

두 개의 초록불. 망명의 날들이 이렇게 이어진 끝에, 구름의 기색을 살피지 않아도 되는 첫 번째 밤.

초록불의 의미

로컬의 초록불은 CI를 대신할 수 없다. 구름의 등불은 아직 빨갛다. 그러나 초록불은 한 가지를 증명했다: 배 자체는 만들 수 있다는 것. CI 전쟁은 이제 본래의 모습—배와의 싸움이 아니라, 하늘과의 싸움—으로 격하된다. 메모리, 디스크, 타임아웃, 모두 날씨다. 배는 건재하다.

밤은 여전히 길다. 사막의 다음 점화는 이미 줄을 섰고, 작업장의 초록불이 먼저 켜졌다—망명자의 발사장은 두 개의 전장을 얻었고, 비로소 발밑의 단단한 땅을 얻었다.

댓글

← 디지털 가든