기능

기술 인식

TeamCity가 '지능적인 지속적 통합(CI) 서버'로 불리는 한 가지 이유는 통합에 대한 접근 방식에 있습니다. JetBrains에서 도구를 지원한다고 할 때는 모든 방면에서 이용할 수 있게 만든다는 뜻입니다. 예를 들어 Visual Studio 프로젝트 지원의 경우 도구 버전, 테스트 프레임워크 지원, 코드 커버리지, 정적 코드 분석 등의 자동 탐지를 제공합니다. 가장 큰 이점은 플러그인을 설치하거나 빌드 스크립트를 수정할 필요 없이 이 모든 지원을 이용할 수 있다는 사실입니다.

자세히 알아보기

주요 통합 제품

버전 관리, 이슈 트래커, 빌드 도구, 패키지 저장소와 같은 일부 주요 도구를 통합하지 않은 상태에서 대단한 CI 및 CD 서버를 기대하기는 어렵습니다. TeamCity는 이 점을 매우 중요하게 고려하여 이러한 주요 도구의 통합을 완벽하게 지원합니다.

자세히 알아보기

클라우드 통합

TeamCity는 Amazon EC2, Microsoft Azure, VMware vSphere 또는 사용자의 Kubernetes 클러스터에서 빌드 에이전트를 유연하게 확장하여 클라우드 컴퓨팅의 이점을 활용합니다.

자세히 알아보기

지속적 통합

지속적 통합이 중요하신가요? 안정된 트렁크와 오류 없는 빌드를 가지고 싶으신가요? 그렇다면 TeamCity에서 제공하는 다양하고 완벽한 지원 기능을 이용해 보세요.

자세히 알아보기

구성

숙련된 소프트웨어 개발자들은 코드 중복을 피하기 위해 노력합니다. 마찬가지로 빌드 엔지니어 역시 설정 중복을 지양합니다. TeamCity는 이 점을 이해하기에 설정을 재사용할 수 있는 다양한 방법을 제공합니다.

자세히 알아보기

빌드 기록

JetBrains는 어느 소프트웨어 개발 과정에서든 성공하려면 빌드, 변경, 실패의 기록이 반드시 필요하다고 생각합니다. TeamCity를 사용하면 이전 빌드를 실행하고 통계를 확인하며 이전에 보고된 내용을 테스트할 수 있을 뿐만 아니라 빌드를 고정, 태깅, 즐겨찾기에 추가할 수 있습니다. 모든 변경 내용은 변경 로그에 집계됩니다.

자세히 알아보기

빌드 인프라

개발자가 적용한 변경 내용이 나열되어 있고 수많은 검사자들이 해당 변경 내용을 승인 및 검사하며 검사 결과에 따라 보완하는 컨베이어 벨트가 있다고 상상해 보세요. TeamCity는 빌드 에이전트가 검사자를 대신한다는 점을 빼면 이러한 컨베이어 벨트와 동일한 역할을 합니다.

자세히 알아보기

코드 품질 추적

TeamCity의 최종 목적은 프로젝트의 코드 품질 개선을 돕는 것입니다. TeamCity에서 IntelliJ IDEA와 ReSharper의 Java 및 .NET용 코드 분석과 검사 기능을 함께 제공하는 이유도 이 때문입니다. 또한 주요 커버리지 엔진이 포함되어 별도 설정 없이 바로 사용할 수 있도록 지원됩니다. 코드 품질을 빌드 실패 조건으로 사용할 수도 있습니다.

자세히 알아보기

VCS 상호 운용성

TeamCity의 버전 관리 시스템 통합은 포괄적입니다. TeamCity에서 검색되지 않는 소스 코드가 있는 프로젝트는 상상하기 어렵습니다.

자세히 알아보기

확장성 및 사용자 지정

TeamCity는 상호작용, 사용자 지정, 서버 확장 방법을 다양하게 제공합니다. 빌드 스크립트에서 서비스 메시지를 사용하거나 REST API로 상호작용하거나 OpenAPI를 이용해 TeamCity용 플러그인을 만들어 보세요.

자세히 알아보기

시스템 유지보수

TeamCity는 빌드가 실행되지 않을 때에도 CI 서버를 정상적이고 안정적인 상태로 유지할 수 있도록 도와줍니다. Disk Usage(디스크 사용 현황), Build Time(빌드 시간), Server Health(서버 상태) 보고서 등의 유용한 보고서를 제공하며 백그라운드에서 빌드 기록 정리를 실행합니다.

또한 2019.2부터 TeamCity는 HTTP 엔드포인트를 통해 Prometheus 형식으로 측정기준을 노출합니다.

자세히 알아보기

사용자 관리

JetBrains는 CI 서버가 전체 팀 또는 전체 기업에서도 사용된다는 사실을 알고 있기에 TeamCity에 유연한 사용자 관리 기능을 제공합니다. 이러한 기능에는 사용자 역할 지정, 사용자를 그룹으로 분류, 다양한 사용자 인증 방법, 서버 상의 모든 활동을 투명하게 파악할 수 있는 전체 사용자 동작 기록 등이 있습니다.

자세히 알아보기