TeamCity 2020.1의 새로운 기능

TeamCity 2020.1은 조건부 빌드 단계를 제공하고 Kubernetes 클러스터에서 빌드 에이전트를 실행하며 Azure DevOps 및 Jira Software Cloud와 통합됩니다. 다중 노드 설정에서 보조 서버에 더 많은 기능을 추가하고 새로운 Slack 알리미를 제공하며 실험적 UI를 크게 향상했습니다.

제약 없이 다양성을 지원하기 위한 조건부 빌드 단계

제약 없이 다양성을 지원하기 위한 조건부 빌드 단계

서로 다른 플랫폼에서 다양한 명령줄 스크립트를 실행하거나 여러 브랜치의 변경 사항을 다양한 스테이징 서버에 배포하고 싶었던 적이 있으신가요? 이제 마음껏 원하는 대로 하세요! TeamCity 2020.1을 사용하면 빌드 단계에 대한 조건을 지정하여 기준이 충족되는 경우 실행할 수 있습니다.

클러스터로 대규모 빌드 - Kubernetes 기반

클러스터로 대규모 빌드 - Kubernetes 기반

이제 간단하고 재현 가능한 클러스터 배포를 즉시 사용할 수 있습니다. 2020.1 버전을 사용하면 Kubernetes를 기반으로 확장 가능한 CI/CD 아키텍처를 구축할 수 있습니다. 빌드 에이전트는 필요할 때 자동으로 시작해 작업을 수행하며 빌드가 완료되면 제거됩니다.

멀티 서버의 마법

멀티 서버의 마법

여러 TeamCity 서버를 실행하고 함께 작동되도록 하면 CI/CD의 성능과 안정성을 완전히 새로운 수준으로 높일 수 있습니다. UI에서 트리거 처리 및 사용자 수준 작업을 통해 보조 서버의 기능을 확장하여 TeamCity가 클러스터링 환경에서 작동하는 방식을 개선했습니다.

트리거 처리

대규모 설치를 수행하는 전문가는 VCS, 패키지 업데이트, 새로운 아티팩트가 변경될 경우 발동하는 트리거가 수천 개는 아니라도 수백 개가 있습니다. 이때 가능한 최고의 성능을 달성할 수 있도록 보조 서버를 이 프로세스에 추가하여 주 서버의 부하를 일부 가져오도록 하였습니다.

사용자 수준 작업

보조 서버의 UI가 개선되어 사용자 프로필 수정, 프로젝트 및 구성 뷰 변경, 빌드 에이전트 관리 등이 가능해졌습니다.

클라우드 빌드 에이전트를 더 간편하게 배포

TeamCity 2020.1에서는 TeamCity 서버에서 사전 패키지된 에이전트 배포를 다운로드할 수 있는 새로운 옵션이 제공됩니다. 사전 패키지된 빌드 에이전트는 TeamCity 서버에 연결할 때 자체를 업데이트할 필요가 없으므로 클라우드 이미지를 더 빠르고 간단하게 생성 및 업데이트할 수 있습니다.

알림 수준 향상

알림 수준 향상

TeamCity의 알림 기능을 한 차원 높이기 위해 프로젝트 관리자가 전체 팀을 대상으로 자동 알림을 설정할 수 있는 새로운 빌드 기능을 구현했습니다. 빌드 구성 수준에서 새로운 알림을 구성할 수 있으므로 Kotlin DSL을 사용하여 알림을 편집, 재사용, 공유할 수 있습니다.

전혀 새로운 Slack 알리미를 통해 팀이 Slack에서 빌드 상태에 대한 알림을 바로 받을 수 있습니다.

강력한 통합 기능

Jira Software Cloud

Jira Software Cloud

TeamCity는 항상 Jira와 완벽하게 통합되어 커밋 메시지의 이슈 코드를 해당 Jira 이슈에 대한 링크로 자동 대체합니다. 더 많은 워크플로를 지원하기 위해 이제 통합 기능을 확장하고 빌드 및 배포 상태를 Jira Software Cloud로 보냅니다. 또한 이슈 트래커에서 CI/CD 파이프라인 및 릴리스 기록을 살펴보고 실패한 빌드와 관련된 이슈를 확인할 수 있습니다.

Azure DevOps

Azure DevOps

pull 요청 빌드 기능에서 지원하는 Git 호스팅 서비스 목록을 확장하고 Azure DevOps pull 요청에 대한 지원을 추가했습니다. 이 새로운 옵션을 사용하면 GitHub 및 GitLab을 사용하여 수행하는 방법과 유사하게 Azure DevOps의 pull 요청 브랜치에서 빌드를 자동으로 실행할 수 있습니다.

새로운 Sakura UI

새로운 Sakura UI

대부분의 개발자는 매일 CI/CD를 사용하므로 이 기능의 사용 편의성이 높아지기를 바랍니다. 빠르고 사용하기 쉽고 새로운 기능을 더 빨리 제공하는 새로운 UI를 만들기 위해 계속 노력하는 이유도 이 때문입니다.

2020.1 버전의 실험용 UI에서는 클래식 TeamCity의 더 많은 사용 사례를 지원하기 위해 업데이트된 에이전트 및 프로젝트 페이지가 제공되며 프로젝트 사이드바를 구성할 수 있도록 합니다.

이 외에도 이 릴리스에 소개된 기능은 다양합니다. TeamCity 2020.1의 전체 변경 목록은 TeamCity 문서를 참조하세요.

TeamCity 2019.2의 새로운 기능

TeamCity 2019.2는 빌드 정리를 관리하고 서버 성능을 모니터링하는 새롭고 탁월한 방법을 제공합니다. EC2 실행 템플릿을 지원하며 빌드 체인을 정의하기 위한 새로운 DSL 구문을 포함합니다. 또한 Git 패치로 개인 빌드를 간편하게 실행할 수 있는 방법을 제공하고 실험적 UI를 크게 개선했습니다.

더 효율적으로 정리

TeamCity의 정리 규칙

TeamCity 2019.2는 빌드에서 생성된 이전 데이터 및 아티팩트에 대한 새로운 차원의 제어 기능을 제공합니다. 사용자는 재설계된 정리 엔진의 도움으로 광범위한 필터를 사용하여 여러 정리 정책을 정의할 수 있습니다. 예를 들어 특정 브랜치에 속하거나 특정 태그를 가진 모든 빌드를 유지하도록 선택할 수 있습니다.

새로운 정리 규칙은 개발 중에 기능 브랜치를 사용하는 팀과 프로젝트가 많은 회사에 특히 도움이 될 것입니다.

CI를 전체적으로 파악

Prometheus 형식으로 TeamCity 측정기준 노출

전문가는 매우 중요한 시스템의 동작 및 성능을 모니터링하는 데 유용한 도구를 선호합니다. 2019.2부터 TeamCity는 HTTP 엔드포인트를 통해 자체 측정기준을 노출하므로 Prometheus로 스크랩한 다음 Prometheus 웹 인터페이스 또는 Grafana 대시보드에서 시각화할 수 있습니다.

측정기준에는 서버 성능 정보를 비롯해 에이전트, 프로젝트, 빌드 구성에 관한 다양한 세부 정보가 포함됩니다.

더욱 커진 확장성

대규모 조직의 경우 대부분 워크플로우에서 고성능 CI가 매우 중요합니다. TeamCity는 다중 노드 설정을 한 단계 더 향상하여 사용자가 빌드 대기열에 빌드를 추가하고 빌드 문제 및 조사를 관리하며 그 외 사용자 수준 작업을 보조 서버에서 수행할 수 있도록 지원합니다.

실험적 UI로 생산성을 높이는 다양한 방법

실험적 UI의 새 빌드 페이지

개발자는 하루에 여러 번 TeamCity를 열게 되는 경우가 많으므로 TeamCity가 프로젝트의 규모와 복잡성에 관계없이 필요한 것을 빠르게 찾을 수 있는 장소가 되기를 JetBrains는 바랍니다. TeamCity UI 로드맵을 따라 이번에는 간편하게 빌드 기록을 탐색하고 문제를 조사하며 빌드 체인의 구성 오류 또는 병목 현상을 발견할 수 있는 새로운 빌드 페이지를 소개합니다.

실험적 UI를 확인해 보세요. 디자인도 더 멋있어졌습니다.

EC2 실행 템플릿. 새로운 차원의 빌드 경험

EC2 실행 템플릿 지원

JetBrains는 최신 워크플로우에서 사용자에게 필요한 모든 기능이 TeamCity에 있기를 바랍니다. 2019.2 버전에서는 EC2 실행 템플릿이 새롭게 지원되어 사용자가 자신의 AWS 계정의 실행 매개변수로 클라우드 빌드 에이전트를 실행할 수 있습니다. 실행 템플릿을 사용하면 빌드 에이전트에서 새 소프트웨어를 업데이트하고 설치하는 작업이 매우 간단해져 더 이상 TeamCity 프로젝트 구성을 변경할 필요가 없습니다.

DSL 성능 향상

간편하게 빌드하는 빌드 체인

클릭은 이제 그만. 스크립트에 반가운 인사를. Kotlin DSL은 이제 빌드 체인을 정의하기 위한 매우 간단한 구문을 제공합니다. 순차적 병렬 빌드를 설정하고 실패 조건 및 종속 요소를 구성하고 모든 것을 코드로 저장해 보세요.

수많은 매개변수. 단 하나의 템플릿

프로젝트 구성이 무척 간편해졌습니다. 2019.2부터 사용자 지정 매개변수를 Kotlin DSL 구성에 포함할 수 있습니다. 이 매개변수는 프로젝트를 가져오거나 프로젝트 설정을 업데이트할 때 UI에서 정의할 수 있습니다.

실행은 많이. 대기 시간은 짧게. Git 패치로 빌드 시작

Git 패치를 생성해 TeamCity에 업로드하고 개인 빌드를 실행하여 변경 내용을 빠르게 테스트할 수 있습니다. 브랜치를 생성하거나 커밋할 필요가 전혀 없습니다.

2019.2 버전의 전체 변경 목록은 TeamCity 문서를 참조하세요.

TeamCity 2019.1의 새로운 기능

새로운 디자인, 새로운 느낌, 더 적어진 클릭 수

새로운 UI 사이드바 프로젝트 개요

TeamCity UI가 대폭 개편되고 있습니다. 이번 버전에서 그 첫 번째 변화를 확인해 보세요.

디자인이 개선되고 있을 뿐만 아니라, 기반이 되는 기술 스택도 업데이트되어 이제 UI가 단일 페이지 애플리케이션으로 작동합니다. 즉, 각 구성 요소를 더 빠르게 액세스할 수 있으며, 모든 변경 내용이 즉시 표시됩니다. TeamCity UI 로드맵에서 예정된 모든 변경 상황과 최신 정보를 확인하십시오.

2019.1에 프로젝트 및 빌드 설정 작업과 관련된 페이지를 개선할 계획입니다.

프로젝트 개요

새로운 프로젝트 개요는 빌드 구성에 대해 대시보드 스타일의 뷰를 제공합니다. 각 구성은 자체적인 카드를 보유하고, 여기에 최대 14개의 최근 빌드에 대한 히스토그램이 표시됩니다. 각 빌드에 대하여 상태(녹색은 성공, 빨간색은 실패를 의미함), 빌드 시간, 빌드가 대기 목록에서 대기한 시간을 확인할 수 있습니다. 또한, 현재 실행 중인 빌드에 대한 정보를 확인할 수 있습니다.

브랜치 탭

브랜치 탭

재편된 브랜치 탭은 상단에 기본 브랜치를 표시하고, 나머지 브랜치는 밑에 있는 확장 가능한 블록에 숨깁니다. 기본 브랜치에서 최근 빌드에 대한 세부 정보가 즉시 확인되어 중요한 데이터를 더 쉽게 파악할 수 있게 되었습니다.

별도 설정 없이 바로 사용할 수 있는 완벽한 GitLab 지원

완벽한 GitLab 통합
GitLab

GitLab을 사용하시나요? TeamCity 2019.1은 GitLab을 완벽하게 지원합니다. 이제 목록에서 GitLab 프로젝트를 선택하고 한 번만 클릭해서 GitLab 연결을 설정하고 TeamCity에서 프로젝트를 생성할 수 있습니다.

또한, GitLab 병합 요청에 대한 지원이 추가되어 이제 병합 요청이 있을 때마다 빌드를 자동으로 실행하고 빌드가 성공적이면 자동으로 병합하도록 TeamCity를 설정할 수 있습니다.

Go 완벽 지원

기본적인 Go 지원
GoLand

Go 언어가 이제 TeamCity에서 기본적으로 지원됩니다. Go 프로젝트를 추가하면 TeamCity가 Go 테스트를 감지하여 보고하고 테스트 상태, 전체 빌드 기록 및 지속 시간에 대하여 풍부한 분석을 제공하며 불안정한 테스트를 신뢰도 낮음으로 표시합니다. 이제 Test History 탭에서 Go 테스트를 심도 있게 살펴볼 수 있습니다.

토큰 기반 인증

토큰 기반 인증

기본 HTTP 인증에 더하여 TeamCity는 이제 영구적인 액세스 토큰에 기반한 인증을 지원합니다. 토큰은 REST API 인증에 유용합니다. 따라서, 스크립트에서 사용자 로그인 정보와 비밀번호를 노출할 필요가 없습니다.

소스 동기화 없는 스냅샷 종속 요소

소스 동기화 없는 스냅샷 종속 요소

이제 스냅샷 종속 요소에 대해 코드 수정의 동기화를 비활성화할 수 있습니다. 이 기능은 배포를 실행할 때 편리하며, 최근 배포 구성을 사용해 체인 안의 이전 빌드 중 하나를 승격시킬 수 있습니다.

AWS Spot Fleet 요청

빌드 수명 주기 처리

유연해진 Spot 인스턴스 생성 방식으로 Spot Fleet을 더 정밀하게 제어할 수 있습니다. TeamCity 2019.1에서는 Spot Fleet 구성 파일을 제출 및 편집하고 전략을 지정하며 목표 용량을 설정하고 인스턴스에 태그를 추가할 수 있습니다. AWS에서 기술과 가성비가 더 우수한 방식으로 빌드를 실행할 수 있는 방법입니다.

보조 노드에서의 빌드 수명 주기 처리

이제 보조 노드에 빌드 수명 주기 처리를 담당하는 역할이 추가되었습니다. 이 기능을 켜면 보조 노드가 빌드 실행 및 종료, 아티팩트 업로드, 실패 조건 처리 등 빌드와 관련된 작업을 처리합니다. 이 변경을 통해 변경 사항 수집, 읽기 전용 백업 노드의 역할 수행 그리고 이제 빌드 수명 주기 처리까지 주 서버에서 보조 서버로 오프로드할 수 있는 작업의 목록이 더욱 확대됩니다.

빌드 수명 주기 처리

요청 시 도구 로딩

도구는 이제 요청이 있을 때 에이전트로 로드됩니다. 필요한 도구는 이를 필요로 하는 첫 번째 빌드가 나타날 때에만 로드됩니다. 이를 통해 빌드 에이전트 업그레이드 시간이 크게 개선되고, 네트워크 트래픽이 절약됩니다.

이 외에도 이 릴리스에 소개된 기능은 다양합니다. 다른 새로운 기능을 확인해 보세요.