DevOps3 빌드 시간 86% 줄였는데 서버가 죽었다 - CI 최적화 그 이후 이전 글에서 4코어 4GB 러너 서버에서 Gradle 빌드 시간을 최대 86% 줄인 이야기를 썼다. 병렬 빌드, 캐시 전략, JVM 메모리 튜닝. 소프트웨어 설정만으로 꽤 의미 있는 개선을 이뤄냈다고 생각했다.그런데 최적화를 적용한 다음 날, 서버가 죽었다.최적화 다음 날, OOM03/20 오전. Harbor 이미지 빌드를 위해 3개 모듈(KubeManagement, Member, PortalManagement)의 워크플로우를 동시에 트리거했다. 러너가 1대니까 순차 실행될 거라 생각했고, 실제로 그렇게 동작해야 맞다. 그런데 세 번째 워크플로우가 시작되면서 서버가 응답을 멈췄다. SSH 타임아웃. 모니터링 메트릭 수집도 중단. 서버가 완전히 죽은 거다.원인을 추적해보니 세 가지가 겹쳤다.첫째, JVM .. 2026. 3. 31. 4코어 4GB 러너 서버에서 Gradle 빌드 시간 86% 줄이기 벼르고 있었다시제품화 마감이 코앞이다.프로젝트 막바지에 접어들면서 코드량과 PR 양이 급격하게 늘었다. AI 코딩 도구를 적극적으로 활용하면서 개발 속도 자체는 나름 빨라졌는데, 그 속도를 인프라가 못 받쳐주고 있었다. PR이 쏟아지는데 빌드/테스트 파이프라인이 병목이 되어 리뷰와 머지가 밀리기 시작했다.팀원들 사이에서 "PR 확인이 너무 오래 걸린다"는 말이 나왔다. 솔직히 말하면, 그 원인이 전부 CI 속도 때문만은 아니었다. AI 도구를 아직 제대로 활용하지 못하는 경우도 있었고, 코드 리뷰 시 맥락을 빠르게 짚지 못해서 시간이 걸리는 경우도 있었다. 하지만 그건 기술적으로 풀 수 있는 문제가 아니다. 사람의 사고 속도나 도구 숙련도는 강제할 수 없다.그래서 방향을 잡았다. 기술적으로 풀 수 있는 .. 2026. 3. 19. GitOps with ArgoCD GitOps?GitOps는 선언적 인프라 및 애플리케이션 구성을 위해 Git을 SSOT(Single Source of Truth)로 활용하는 일련의 실천 방식이다. Git을 중앙 저장소로 사용함으로써 팀은 애플리케이션 제공 프로세스를 간소화하고, 배포를 자동화하며, 협업을 개선할 수 있다. GitOps라는 용어는 Weaveworks에서 처음 제안했으며, 이후 DevOps 커뮤니티에서 널리 채택되었다.GitOps의 네 가지 핵심 원칙1. 선언적 구성(Declarative Configuration)모든 리소스와 구성을 선언형 방식으로 정의하여 시스템의 원하는 상태를 쉽게 관리하고 이해할 수 있도록 한다.YAML, JSON, HCL 등으로 인프라와 애플리케이션, 의존성을 기술한다.2. 버전 관리(Version.. 2025. 5. 13. 이전 1 다음