[Hacker News 요약] AI 코딩 시대, CI 병목 현상 극복을 위한 Linear의 최적화 전략
39
설명
AI 기반 코딩 도구의 등장으로 개발 속도가 비약적으로 빨라졌지만, 코드 검증 단계인 CI(Continuous Integration)가 병목 현상을 일으키며 인프라 비용 증가와 개발자 대기 시간 연장을 초래하고 있습니다.
Linear는 이러한 문제를 해결하기 위해 2026년 9월 21일, CI 파이프라인을 전면 재설계하여 PR 대기 시간을 단축하고 러너 시간당 테스트 비용을 절감하는 데 성공했습니다.
이 글은 Linear가 CI 병목 현상을 어떻게 극복했는지, 구체적인 최적화 방법과 그 효과를 상세히 설명합니다.
### 배경 설명
최근 몇 년간 GitHub Copilot, Amazon CodeWhisperer와 같은 AI 코딩 지원 도구들이 개발 생산성을 혁신적으로 향상시키고 있습니다. 이러한 도구들은 코드 작성 속도를 수 배 이상 높여 개발 주기를 단축하는 데 기여하지만, 코드 변경 사항을 검증하고 통합하는 CI/CD 파이프라인은 이러한 가속도를 따라가지 못하는 경우가 많습니다.
결과적으로, 모든 코드 변경 사항이 거쳐야 하는 CI 과정이 병목 지점이 되어 전체 개발 프로세스를 지연시키고, 늘어난 CI 러너 사용 시간으로 인해 인프라 비용이 증가하는 악순환이 발생합니다. 개발자들은 코드 변경 사항에 대한 피드백을 받기 위해 더 오래 기다려야 하며, 이는 개발 만족도 저하로 이어질 수 있습니다. 특히 Linear와 같이 빠른 개발 속도를 지향하는 기업에게 CI 병목 현상은 심각한 문제로 다가왔습니다.
Linear는 이러한 문제를 인식하고, 2026년 초부터 CI 비용 절감 및 속도 향상을 위한 적극적인 최적화 작업을 진행했습니다. 이는 단순히 CI 도구를 교체하는 것을 넘어, CI 시스템 전반의 구조를 재검토하고 각 단계별 비효율성을 제거하는 포괄적인 접근 방식이었습니다.
### 인프라 및 도구 업그레이드
Linear는 CI 시스템의 근본적인 성능 향상을 위해 인프라와 도구 체인을 현대화했습니다. GitHub Actions에서 벗어나 더 빠른 CPU, 고성능 스토리지, 개선된 캐싱 인프라를 갖춘 서드파티 러너로 워크로드를 이전했습니다. 이로 인해 동일한 파이프라인을 실행하더라도 평균 34%의 작업 속도 향상을 경험했으며, 특히 tsc(TypeScript 컴파일러) 작업은 52%까지 빨라졌습니다. 또한, 네이티브 TypeScript 컴파일러인 tsgo로 전환하면서 주간 tsc 검사 시간을 73% 단축하여 타입 검사로 인한 병목 현상을 완전히 해소했습니다.
### 타입 검사 의존성 제거 및 린팅 최적화
기존의 일부 커스텀 린트 규칙은 TypeScript 타입 정보에 의존하여 복잡성과 메모리 사용량을 증가시켰습니다. Linear는 이러한 규칙들을 추상 구문 트리(AST)에 대한 정적 분석으로 재작성하여 타입 정보 없이도 함수 패턴 등을 식별할 수 있도록 개선했습니다. 이로 인해 ESLint가 TypeScript 의존성을 제거하고 API 린트 시간을 68%, 전체 저장소 린트 시간을 55% 단축했으며, 메모리 사용량도 크게 감소했습니다. 이러한 변경은 향후 Oxlint와 같은 도구로의 전환을 용이하게 했습니다.
### 중요 작업(Gate Jobs) 최적화 및 의존성 관리
CI 시스템의 병목 현상을 줄이기 위해, 다른 작업들을 제어하는 작은 작업들의 효율성을 높이는 데 집중했습니다. PR이 변경된 경로를 감지하고 이미 통과된 테스트를 확인하는 작업들은 러너 예약에 직접적인 영향을 미치므로 최적화가 필수적이었습니다. Linear는 이러한 작업들이 전체 작업 트리를 불필요하게 체크아웃하는 대신 필요한 부분만 가져오도록 변경했습니다. 예를 들어, 데이터베이스 마이그레이션 감지 작업의 체크아웃 시간을 94초에서 20초로 단축했으며, 작업 트리 자체가 필요 없는 작업에서는 체크아웃을 완전히 제거하여 27초에서 7초로 줄였습니다. 또한, GitHub 네트워크 외부의 서드파티 러너에서 발생하는 checkout hang 문제를 해결하기 위해 자체 composite action을 개발하여 네트워크 불안정성에 대한 복원력을 높였습니다.
### 반복적인 설정 비용 절감
각 CI 작업마다 발생하는 러너 부팅, 패키지 설치, 빌드 종속성 프로비저닝과 같은 반복적인 설정 비용을 줄이기 위해 다양한 방법을 적용했습니다. API 테스트 샤드에 공통적으로 필요한 PostgreSQL 클라이언트를 CI 기본 이미지에 사전 설치하여 각 샤드의 시작 시간을 단축했습니다. 또한, 모노레포 환경에서 API 테스트 워크플로우가 전체 작업 공간 대신 API 패키지와 해당 종속성만 설치하도록 제한하여 `pnpm install` 시간을 44-73초에서 16-18초로 줄였습니다. 캐싱의 경우, 빈번하게 변경되는 lockfile로 인해 캐시 복원 시간이 재빌드 시간보다 오래 걸리는 경우를 파악하고, 캐싱 대신 필터링된 설치를 선택하여 효율성을 높였습니다. 이러한 변경으로 샤드당 설정 시간을 약 44% 절감했습니다.
### 테스트 실행 효율성 극대화
API 테스트 스위트는 Linear의 CI 워크플로우에서 가장 크고 자주 실행되는 부분이었기에, 이곳의 개선은 전체 병합 시간에 큰 영향을 미쳤습니다. 테스트 러너인 Vitest가 파일 단위로 작업을 분배하는 방식을 개선하여, 크기가 큰 테스트 파일들이 전체 스위트 완료 시간을 지연시키는 문제를 해결했습니다. 대용량 파일을 더 작고 집중된 파일로 분할하고, 샤드 구성을 4개에서 8개로 늘려 가장 느린 샤드의 완료 시간을 19% 단축했습니다. 또한, `isolate: false` 옵션을 활용하여 테스트 파일 간 모듈 상태 공유를 허용함으로써 테스트 샤드당 빌드 시간을 약 17% 절감하는 성과를 거두었습니다. 이는 가장 큰 성능 향상 중 하나였으며, 2026년 9월 21일 기준 월간 비용의 약 17%를 절감했습니다.
### 가치와 인사이트
Linear의 CI 최적화 사례는 AI 코딩 도구의 도입으로 가속화되는 개발 환경에서 CI/CD 파이프라인이 어떻게 병목 현상을 일으킬 수 있는지 명확히 보여줍니다. 이 글은 단순히 도구를 교체하는 것을 넘어, 인프라, 도구 체인, 작업 흐름, 설정 비용, 테스트 실행 방식 등 CI 시스템의 모든 측면을 체계적으로 분석하고 개선하는 것이 얼마나 중요한지를 강조합니다. 특히, `tsgo` 도입, AST 기반 린팅, 체크아웃 최적화, 사전 빌드된 CI 이미지 사용, 테스트 파일 분할 및 모듈 상태 공유와 같은 구체적인 기술적 접근 방식은 다른 개발팀에게 실질적인 가이드라인을 제공합니다. 이러한 최적화를 통해 Linear는 PR 대기 시간을 6분 이상에서 5분 이상으로 단축하고, 테스트 러너 시간을 절반으로 줄이는 등 가시적인 성과를 달성했습니다. 이는 개발자 경험 향상과 인프라 비용 절감이라는 두 마리 토끼를 잡는 결과를 가져왔습니다.
### 기술·메타
- TypeScript
- tsgo (TypeScript Compiler)
- ESLint
- Oxlint
- Vitest
- pnpm
- GitHub Actions (에서 서드파티 러너로 이전)
- Composite Action (for checkout resilience)
### 향후 전망
AI 코딩 도구의 발전은 계속될 것이며, 이는 개발 속도를 더욱 가속화할 것입니다. Linear의 경험은 앞으로도 CI/CD 파이프라인이 이러한 변화에 발맞춰 지속적으로 최적화되어야 함을 시사합니다. Linear는 현재 주당 약 2,000개의 테스트를 추가하고 있으며, 코드베이스의 지속적인 성장에 따라 새로운 병목 현상이 발생할 가능성이 높습니다. 따라서 Linear는 이번 최적화 과정에서 얻은 교훈을 바탕으로 새로운 병목 지점을 식별하고 해결하는 작업을 계속해 나갈 것입니다. 경쟁사들 역시 유사한 CI 병목 현상에 직면할 가능성이 높으므로, CI 성능 최적화는 향후 개발 플랫폼 경쟁에서 중요한 요소가 될 것입니다. 또한, AI가 테스트 코드 작성의 상당 부분을 담당하게 됨에 따라, AI가 생성한 테스트가 이러한 성능 최적화 전략을 따르도록 하는 것도 중요한 과제가 될 것입니다.
📝 원문 및 참고
- Source: Hacker News
- 토론(HN): [news.ycombinator.com](https://news.ycombinator.com/item?id=49792067)
- 원문: [링크 열기](https://linear.app/now/ci-bottleneck-reworked)
---
출처: Hacker News · [원문 링크](https://linear.app/now/ci-bottleneck-reworked)
이 글에 대한 한 줄 의견
신고 · 불법·유해·아동 안전(CSAE) 관련 콘텐츠

댓글 0
아직 댓글이 없습니다. 로그인하면 바로 의견을 남길 수 있습니다.