프로그래밍 및 소프트웨어 개발

JetBrains, TeamCity에서 빌드 에이전트 대기 시간을 줄이는 Warm Agents 플러그인 출시

JetBrains가 TeamCity 플랫폼용 Warm Agents 플러그인을 출시했다. 이 플러그인은 미리 준비된 클라우드 빌드 에이전트를 지정된 수만큼 자동으로 유지해 CI/CD 작업의 대기 시간을 줄인다. 그러나 대기 시간 단축은 빌드 에이전트 라이선스와 유휴 클라우드 리소스 운영 비용을 사용하는 대가로 제공된다.

2026-10-07
3 분 읽기
5 조회수
certi.news Editorial Team
JetBrains, TeamCity에서 빌드 에이전트 대기 시간을 줄이는 Warm Agents 플러그인 출시

JetBrains가 지속적 통합 및 지속적 제공 환경에서 가장 흔한 지연 요인 중 하나인 테스트 또는 빌드 시작 전 클라우드 빌드 에이전트 가동 대기를 해결하기 위해 TeamCity 플랫폼용 Warm Agents 플러그인을 출시했다. 이 플러그인을 사용하면 각 클라우드 이미지별로 사전에 실행된 유휴 에이전트의 목표 수를 유지할 수 있으며, 수가 지정된 수준 아래로 떨어지는 즉시 TeamCity가 새 에이전트를 준비하기 시작한다.

이 플러그인은 TeamCity가 지원하는 모든 클라우드 제공업체와 작동하므로, 전체 빌드 인프라를 계속 실행하는 대신 임시 에이전트를 사용하는 팀에 적합하다. 특히 환경 준비 시간이 실행 시간보다 길어질 수 있는 짧은 작업을 대상으로 한다. 느리게 부팅되는 클라우드 Windows 에이전트로 인해 1분이면 완료되는 테스트가 몇 분 더 대기열에 머물 수 있기 때문이다.

실제로 무엇이 달라지는가?

작업이 도착한 뒤에만 에이전트를 생성하는 대신, TeamCity는 각 클라우드 이미지의 유휴 에이전트 수를 모니터링하고 수가 목표보다 적어지면 새 인스턴스를 시작한다. 수량은 REST API 또는 Project Settings | Integrations | Warm Agents 경로의 프로젝트 설정을 통해 조정할 수 있다. 목표를 0으로 설정하면 특정 이미지에 대해 준비된 에이전트를 유지하지 않도록 설정할 수 있다.

이 플러그인을 사용하려면 TeamCity 2024.12.3 이상, 프로젝트에 구성된 클라우드 프로필과 클라우드 이미지, 그리고 Manage project’s agent cloud profiles 권한이 필요하다. JetBrains Marketplace에서 설치하고 활성화한 뒤 REST API 또는 teamcity-cli 도구를 통해 관리할 수 있다.

속도의 대가와 확장 한계

Warm Agents는 무료로 속도를 높여 주지 않는다. 실행 중인 각 준비 에이전트는 build agent 라이선스를 소비하며, 유휴 클라우드 인스턴스도 클라우드 제공업체에 비용을 계속 발생시킨다. 따라서 이 플러그인은 대기 시간과 운영 지출 사이의 명확한 절충을 제시하며, 실제 수요가 낮다면 목표를 높인다고 해서 항상 실질적인 개선이 이루어지는 것은 아니다.

클라우드 이미지에 설정된 실행 인스턴스 최대 수를 초과하도록 에이전트 목표를 설정하더라도 TeamCity는 해당 최대값을 준수한다. 또한 인스턴스는 짧은 간격을 두고 배치로 시작되므로 높은 목표에 도달하는 데 시간이 걸릴 수 있다. 목표를 낮춰도 TeamCity는 실행 중인 에이전트를 강제로 중지하지 않는다. 클라우드 이미지에 정의된 유휴 시간 제한은 계속 적용되며, 목표 수를 유지하기 위해 중지된 일부 인스턴스가 다시 시작될 가능성이 있다.

예약 및 측정

JetBrains는 수요 패턴에 따라 목표를 변경하는 예약 작업을 사용할 것을 제안한다. 예를 들어 아침에는 목표를 높이고 저녁에는 0으로 낮출 수 있다. 이는 Kotlin DSL과 REST API 호출을 통해 구현할 수 있으며, OAuth 토큰은 빌드 로그에 표시되지 않도록 비밀번호 유형 매개변수로 저장해야 한다.

또한 이 플러그인은 각 클라우드 이미지에 대해 Prometheus 형식의 메트릭을 제공하며, 사용량과 포화도를 나타내는 지표도 포함한다. 이를 통해 팀은 수요가 가장 높은 시간대와 준비된 에이전트 수가 대기열을 따라가고 있는지를 파악할 수 있다. 다중 노드 환경에서는 전용 쿠키 프로필을 사용해 메트릭 요청을 주 노드로 전달해야 한다.

이 소식이 중요한 이유

이 플러그인은 에이전트 준비 시간을 예측하기 어려운 지연에서 조정하고 모니터링할 수 있는 리소스로 바꾸는 직접적인 방법을 제공한다. 짧고 반복적인 작업이 있거나 수요 정점을 예측할 수 있는 팀에서 실질적인 가치가 더 클 것이다. 반면 간헐적으로만 실행되는 프로젝트에서는 에이전트를 워밍 상태로 유지하는 비용이 정당화되지 않을 수 있다. 따라서 도입 시에는 유휴 비용과 실제 대기 시간을 비교하고, 높은 고정값을 선택하는 대신 메트릭을 사용해 목표를 조정해야 한다.

뉴스 출처
JetBrains Blog
원문 보기 ↗
c
작성자

certi.news Editorial Team

같은 카테고리

추천 기사

모든 뉴스 보기