클라우드 기능

저희는 CI/CD 파이프라인을 빠르고 경제적으로 만들기 위해 필요한 모든 것이 TeamCity에 갖춰져 있기를 바랍니다. 그래서 사용자가 더욱 간편하게 클라우드에서 빌드를 설정하고 실행할 수 있도록 다양한 기능을 개발하고 있습니다.

클라우드 에이전트를 위한 영구 캐시

개발 중

클라우드에서 TeamCity를 사용하는 팀은 로컬 설치를 활용했을 때만큼 빠르게 빌드를 완료할 수 있습니다. 영구적 클라우드 캐시는 클라우드 빌드 에이전트가 Maven 아티팩트 및 NPM 패키지와 같은 빌드 종속성을 서로 전송하도록 하므로 시간과 네트워킹 비용이 절감됩니다.

또한 다운로드해야 하는 것도 적어 지구 환경에 보탬이 됩니다. 전기를 절약하고 탄소 발자국을 줄입니다. 즉, 이 기능은 빌드 완료 속도를 높이면서 환경 보호에도 이바지합니다.

자세히 알아보기

재구성된 AWS 자격 증명 관리

개발 중

최근에 새로운 자격 증명 관리 시스템인 AWS Connection이 릴리스되었습니다. 이 시스템은 특정 작업을 수행하는 데 필요한 권한만 있는 임시 AWS 보안 자격 증명을 사용해 TeamCity의 빌드 기능과 클라우드 통합 기능을 제공합니다. 다음 단계는 TeamCity에서 사용 가능한 모든 플러그인 내에서 AWS 연결에 대한 지원을 구현하는 것입니다. 그러면 팀이 EC2, ECR, S3 및 기타 리소스에 대한 액세스를 수동으로 구성하는 부담을 덜 수 있습니다.

즉시 사용 가능한 Microsoft Azure 지원

개발 중

클라우드에서 빌드 에이전트를 실행하면 필요한 경우 배포 파이프라인의 규모를 빠르게 확장할 수 있어 점차 더 많은 고객들이 이를 활용하는 추세입니다. Microsoft Azure로 마이그레이션하는 사용자를 지원하기 위해 TeamCity Azure 플러그인을 개선하고 번들로 제공할 계획입니다.

빌드 에이전트 이미지 빌더

개발 중

TeamCity의 이미지 빌더를 사용하면 다양한 환경에 맞게 TeamCity 빌드 에이전트의 맞춤 VM 이미지를 빌드할 수 있습니다. 그러면 미리 만들어놓은 VCS 저장소, 빌드 종속성, Docker 이미지 등을 사용하여 빌드 속도를 높일 수 있습니다.

자세히 알아보기

실행기 모드

개발 중

빌드 에이전트를 지정하고 유지 관리할 필요 없이 간단한 빌드 작업을 실행할 수 있도록 Kubernetes, HashiCorp Nomad, AWS ECS 등과 같은 일반적인 스케줄러를 지원하려고 합니다.

그러면 어떤 작업자가 빌드를 실행할지 생각하지 않고도 프로젝트 빌드 구성의 설정을 시작할 수 있습니다.

이러한 접근 방식은 VCS 루트, 종속성 등의 로컬 캐시가 필요하지 않은 작고 간단한 작업에 유용합니다. 또한 스케줄러를 사용하면 리소스 활용도도 높아집니다. 스케줄러는 기본적으로 동일한 클러스터 노드에서 여러 작업을 병렬로 실행할 수 있습니다.

JetBrains 호스팅 에이전트

개발 중

TeamCity Cloud용 JetBrains 호스팅 에이전트에 더 많은 옵션을 추가하려고 합니다. 여기에는 분당 macOS 에이전트를 다시 생성하고 ARM 기반 Linux 에이전트를 제공하는 작업이 포함됩니다.

다중 테넌트 TeamCity

개발 중

현재, TeamCity Cloud는 모든 고객에게 별도의 서버를 제공합니다. 동일한 서버에서 여러 프로젝트를 호스팅하는 방안을 모색하고 있습니다. 그렇게 되면 비용을 절감하고 TeamCity Cloud 무료 버전을 제공할 수도 있을 것입니다.

빌드 러너 및 통합

TeamCity는 빌드 도구 및 외부 서비스와 긴밀하게 통합된 기능으로 전 세계 개발자들의 큰 사랑을 받고 있습니다. 저희 팀은 이에 대한 보답으로 최선의 지원을 제공하고자 노력합니다. 새롭게 추가될 예정인 신규 통합 기능 목록을 아래에서 확인해 보세요.

트리거 제어를 위한 풀 리퀘스트 빌드 기능

설계 중

현재 풀 리퀘스트 빌드 기능은 특정 필터링 기준과 일치하는 진행 중인 풀 리퀘스트의 브랜치를 포함하도록 VCS 루트의 브랜치 사양을 확장합니다.

이 기능을 발전시켜 풀 리퀘스트의 하위 집합에 대한 빌드를 자동으로 트리거하는 동시에, 다른 브랜치에 대한 빌드를 수동으로 트리거할 수도 있도록 할 계획입니다.

자세히 알아보기

통합과 관련된 프로젝트 및 빌드 기능을 하나로 결합

탐색 중

이 기능을 사용하면 프로젝트 수준에서 연결(예: GitHub 연결)을 구성할 수 있습니다. 연결 설정 내에서 바로 TeamCity가 풀 리퀘스트 및 이슈 트래커 정보를 수집하도록 할지 여부를 지정할 수 있으며 상태를 게시해야 하는 빌드 구성을 표시할 수 있습니다.

이 기능을 사용하면 프로젝트 수준에서 설정을 한 번에 모두 구성할 수 있으므로 상당한 시간을 절약할 수 있습니다.

토큰 관리 UI

탐색 중

Connections를 통해 발행된 OAuth 토큰은 내부 TeamCity 토큰 스토리지에 저장됩니다. 현재는 관리자 UI를 통해 특정 설정(예: VCS 루트 또는 빌드 기능)을 구성할 때 이러한 토큰이 스토리지에서 추출됩니다.

이러한 토큰 관리를 위한 UI를 도입할 계획입니다. 이 UI에서는 토큰 사용과 범위를 확인하는 것 외에, 다음을 수행할 수 있습니다.

  • 토큰 ID 및 연결, 토큰 발행에 사용된 계정 등을 확인
  • ID로 참조할 수 있도록 새 토큰 발행(예: DSL 코드에서)
  • 스토리지에서 토큰 삭제
  • 토큰의 프로젝트 범위를 보고 편집
  • 다양한 설정 내에서 토큰의 실제 사용 보기

자세히 알아보기

VCS에서 새 프로젝트 자동 설정

탐색 중

큰 규모의 기업은 수천 개의 빌드 에이전트와 수만 개의 프로젝트로 확장할 수 있는 TeamCity의 확장성을 선호합니다. 그러나 어느 시점이 되면 새 프로젝트를 추가하는 일은 즐겁다기보다, 필요하지만 매번 반복해야 하는 힘든 일로 느껴지게 됩니다.

이 기능을 통해 새로운 .teamcity 저장소가 생성될 때 TeamCity에서 프로젝트를 자동으로 생성할 수 있게 할지 검토하고 있습니다.

이 기능에 투표하기

UI에서 풀 리퀘스트 지원

설계 중

TeamCity는 자체적으로 Github GitHub 풀 리퀘스트를 지원합니다. TeamCity의 관점에서 풀 리퀘스트는 특수한 브랜치입니다. 따라서 이러한 브랜치를 명확하게 알아볼 수 있도록 UI에 표시하려고 합니다.

자세히 알아보기

GitHub Checks 지원 구현

설계 중

GitHub Checks 지원을 통해 GitHub에서 제공되는 데이터를 기반으로 빌드 중에 발생한 상황에 대한 보다 유익한 정보를 사용자에게 제공할 예정입니다.

이 기능의 주요 이점은 다음과 같습니다.

  • 일반 상태 대신 확장된 하이퍼텍스트 보고서
  • 소스 코드의 특정 위치에 어노테이션을 달 수 있는 기능(예: 검사를 위해)

풀 리퀘스트 빌드 기능에 대한 추가 필터링 기준

설계 중

현재, TeamCity의 풀 리퀘스트 빌드 기능에는 타깃 브랜치 필터만 있습니다. 검토 상태, 라벨, 작성자 역할 등과 같은 새로운 필터의 추가를 고려하고 있습니다.

자세히 알아보기

게임 개발 대상

개발 중

TeamCity는 다른 CI 도구에는 없는 기능과 다양한 활용성을 결합하고 있습니다. TeamCity가 게임 개발에 가장 많이 사용되는 CI 솔루션 중 하나인 이유도 바로 이 때문입니다. 저희는 다음과 같은 세 가지 주요 영역에서 이 업계에 도움이 될 방법을 모색하고 있습니다.

  • Unity 지원.
  • Unreal Engine 지원.
  • 게임 개발의 일반적 CI/CD 워크플로.

TeamCity를 사용하여 게임을 빌드하는 데 관심이 있으신가요? JetBrains의 연구조사에 참여하려면 언제든지 여기에서 가입하세요.

Perforce 통합 개선 사항

TeamCity는 게임 개발에서 가장 일반적으로 사용되는 버전 관리 시스템 중 하나인 Perforce Helix Core와의 기본 통합을 제공합니다. 다음은 Perforce 지원을 위한 계획입니다.

TeamCity에서 생성한 Perforce 작업공간의 자동 삭제

개발 중

Perforce 에이전트 측 체크아웃을 사용하면 Perforce 작업공간이 생성됩니다. TeamCity 에이전트를 더 이상 사용하지 않아도 작업공간은 Perforce 서버에 남아 있습니다.

서버 리소스 낭비를 방지하기 위해 더 이상 활성 상태가 아닌 TeamCity 에이전트에 대해 TeamCity에서 생성한 Perforce 작업공간을 자동으로 삭제하는 기능을 도입할 예정입니다.

진행 상황 팔로우

커밋 상태 게시자의 Helix Swarm 검토 코멘트에 대한 통제력 강화

개발 중

현재, 커밋 상태 게시자는 빌드의 각 단계(대기 중, 시작됨, 성공/실패 등)에 대한 정보를 제공하므로 신경 쓰기가 너무 힘들 수 있습니다.

어떤 코멘트가 전송되고 어떤 상태가 코넨트를 유도하는지 더 효과적으로 파악할 수 있도록 개선할 예정입니다.

진행 상황 팔로우

에이전트 측 체크아웃을 위한 사용자 지정 Perforce 작업공간 이름

개발 중

현재 TeamCity는 에이전트 측 체크아웃 중에 Perforce 작업공간 이름을 자동으로 생성합니다. 작업공간 이름에 대한 패턴을 사용자 지정하는 옵션을 추가할 계획입니다. 이 패턴을 통해 다음을 사용할 수 있습니다.

  • 프로젝트 ID 및 구성 ID.
  • VCS 루트 외부 ID.
  • 체크아웃 디렉터리의 이름

진행 상황 팔로우하기

Unreal Engine 지원

개발 중

Unreal Engine은 게임 개발에 사용되는 가장 인기 있는 게임 엔진 중 하나입니다. TeamCity 사용자에게 다음과 같은 기능을 제공하게 될 새로운 Unreal Engine 플러그인을 개발 중입니다.

  • 빌드 에이전트에서 Unreal Engine 설치 탐지
  • Unreal Engine 전용 러너
  • Unreal Engine 빌드 단계의 자동 확인
  • 문제점이 강조 표시된 구조화된 빌드 로그
  • 테스트 보고

다중 노드 설정

여러 TeamCity 노드를 실행하고 함께 작동되도록 하면 CI/CD의 성능과 안정성을 완전히 새로운 수준으로 높일 수 있습니다. 다중 노드 설정을 위한 새로운 기능을 구현하여 TeamCity가 클러스터 환경에서 작동하는 방식을 개선하고 있습니다.

향상된 가용성

개발 중

서버를 유지 보수한다고 해서 개발자가 빌드를 실행하지 못해서는 안 됩니다. 보조 노드를 기본 노드로 자동 변환하는 것을 포함하여 TeamCity의 가용성을 높이는 기능에 더 많은 투자를 계획하고 있으며, 다중 노드 설정에서 공유 데이터 디렉터리에 대한 종속성을 계속 없애나갈 것입니다.

구성 파일의 변경 사항을 보다 효과적으로 전파

개발 중

로컬 Git 리포지토리에 모든 구성 파일을 저장할 계획입니다. 이 리포지토리는 다중 노드 설정에서 TeamCity 노드 간에 구성 파일을 공유하는 데 사용할 수 있습니다.

이를 통해 이러한 파일의 변경 사항에 대한 트랜잭션 알림을 설정할 수 있으므로 이러한 수정 사항의 원자성과 이에 대한 보조 노드 알림의 원자성을 보장할 수 있습니다.

독립형 빌드 로그 서비스

설계 중

다중 노드 설정에서 모든 노드는 공유 데이터 디렉터리에 저장된 빌드 로그 파일을 사용하여 작동합니다. 대부분의 경우, 하나의 노드가 일부 빌드에 해당하는 로그 파일을 '소유'합니다. 이 노드는 파일에 쓰는 반면 다른 노드는 파일을 읽을 수만 있습니다.

TeamCity 노드에서 로그 파일을 '소유'한 노드가 충돌했다고 판단하는 경우(실제로는 정상적으로 작동하지만) 다른 노드가 동일한 로그 파일에 쓰기 시작하여 이를 손상시킬 수 있습니다.

그래서 모든 노드에서 HTTPS로 액세스할 수 있는 독립형 빌드 로그 서비스를 구현하려고 합니다. 이 새로운 접근 방식은 두 노드가 동일한 파일에 쓰려고 하면서 로그 파일이 손상될 수 있는 문제를 없애는 데 도움이 될 것입니다.

Git 저장소의 모든 구성 변경 사항 커밋

탐색 중

이 기능의 기본 개념은 모든 변경 사항(프로젝트 관련 및 전역 모두)을 지정된 Git 저장소에 커밋하고 푸시하는 것입니다. 그러면 다중 노드 설정에서 TeamCity 노드 간에 구성 파일을 공유하는 데 이 저장소를 사용할 수 있습니다.

이 저장소는 TeamCity 설정에서 이루어진 모든 변경 사항(UI, Rest API 또는 버전 기반 설정을 통해 수행됨)에 대한 감사 목적으로도 사용할 수 있습니다.

자세히 알아보기

보안

지속적 통합은 개발 프로세스의 핵심을 차지하고 있으며, 데이터가 제3자에게 노출되거나 사이버 공격의 대상이 될 위험을 최소화하는 워크플로를 유지하는 것이 필수적입니다. 제품의 보안과 관련된 기능 개선을 위해 지속적으로 노력하는 동시에 다음 기능도 도입할 예정입니다.

원격 비공개 스토리지와의 통합

설계 중

이 기능을 통해 TeamCity는 빌드를 실행하기 직전에 외부 매개변수 스토리지에 있는 매개변수의 값을 가져올 수 있습니다. TeamCity의 매개변수 UI로 이동하여 외부 매개변수를 참조하는 매개변수를 추가할 수 있습니다. 이 기능은 AWS Parameter Store, HashiCorp Vault, Azure App Configuration, Azure Key Vault와 같은 외부 스토리지에 매개변수를 저장하는 팀에게 유용할 것으로 기대됩니다.

이 저장소는 TeamCity 설정에서 이루어진 모든 변경 사항(UI, Rest API 또는 버전 기반 설정을 통해 수행됨)에 대한 감사 목적으로도 사용할 수 있습니다.

자세히 알아보기

안전하지 않은 빌드 처리

탐색 중

지원되는 모든 VCS 호스팅에 대해 포크에서 풀 리퀘스트와 병합 요청을 탐지하는 기능을 개발 중입니다. 보안을 강화하기 위해 이러한 방식으로 트리거된 빌드에 대해 수작업에 의한 필수 승인도 구현할 예정입니다.

코드로서 구성

Kotlin DSL의 우수한 표현성 덕분에 사용자들은 CD/CD 구성을 코드로 저장하는 데 큰 관심을 보이고 있습니다. 이 기능을 개선할 예정이며 다음은 단기적으로 계획하고 있는 주요 변경 사항입니다.

간소화된 사용자 경험

탐색 중

Kotlin DSL을 사용하면 숙련된 TeamCity 사용자가 빌드 구성 설정을 더 자연스럽게 재사용하여 팀의 시간과 노력을 절약할 수 있습니다. Kotlin DSL은 정적으로 타입이 지정되므로 IDE에서 이를 사용하면 이용 가능한 API를 훨씬 더 간단하게 찾을 수 있습니다.

동시에 Kotlin에 대한 지식이나 특정 IDE로 작업해야 할 필요성이 TeamCity에서 파이프라인을 구성하는 데 장애물이 되어서는 안 됩니다. 이러한 이유로 저희는 사용자 경험을 단순화하고 TeamCity 사용을 더 쉽게 만들 방법을 연구하고 있습니다.

IDE에서 가져오기의 불편 해소

탐색 중

IDE가 아닌 코드 에디터에서 Kotlin 파일을 간편하게 편집할 수 있도록 하기 위해, .kt 파일에서 DSL 관련 패키지 가져오기를 명시적으로 지정할 필요가 없도록 할 예정입니다. 가져오기는 TeamCity 서버 측에서 자동으로 처리됩니다.

그러면 어떤 코드 에디터에서든 코드를 컴파일링할 수 있으며, TeamCity는 이 기능이 문제 없이 작동되도록 합니다.

소규모 프로젝트를 위한 간소화된 기본 DSL

탐색 중

Kotlin DSL은 파이프라인을 실행하는 데 필요한 방식으로 정확히 구성할 수 있는 기능을 제공하지만, 소규모 프로젝트에는 Kotlin DSL에 수반되는 모든 복잡성이 필요하지 않을 수 있습니다. 그래서 소규모 프로젝트에 적합하게 기본 DSL을 단순화하여 문서에서 DSL 코드 예시를 간단히 복사하여 붙여넣을 수 있게 할 예정입니다. 그러면 구성 프로세스의 속도가 크게 향상될 것입니다.

YAML 실험

탐색 중

Kotlin DSL에서 CI/CD 프로젝트 구성을 위한 강력한 방법을 제공하지만 일부는 파이프라인 구성에 YAML을 사용하는 것이 더 편할 수도 있습니다.

프로젝트를 코드로 구성하기 위한 옵션으로 YAML을 추가할 수 있을지 검토하고 있습니다.

이 기능에 투표하기

외부 시스템에서 버전 기반 설정 저장소 열기

설계 중

버전 설정 구성에 Kotlin DSL을 사용하고 있고 일부 변경이 필요한 경우, TeamCity는 관련 코드가 있는 외부 시스템의 저장소에 있는 해당 파일로 안내할 수 있습니다. 즉, 더 이상 저장소에서 해당 파일 하나를 찾기 위해 돌아다닐 필요가 없습니다!

자세히 알아보기

CI 주요 개선 사항

JBA 로그인 및 새 라이선스 형식

개발 중

사용자들이 JetBrains Account를 통해 서버 및 에이전트 라이선스를 투명하고 유연하게 관리할 수 있게 하려고 합니다. 또한 오프라인 라이선스 키를 생성하고 다운로드할 필요 없이 TeamCity가 이러한 라이선스를 실시간으로 선택할 수 있게 할 예정입니다.

다음을 계획하고 있습니다.

  1. 수많은 오프라인 라이선스 키를 처리할 필요 없이 JetBrains 계정을 통해 서버 및 빌드 에이전트 라이선스를 관리할 수 있도록 하여 TeamCity On-Premises 고객의 라이선스 관리를 간소화합니다.
  2. TeamCity 설치(TeamCity Professional 포함)를 위한 JetBrains 계정 로그인을 도입합니다.

매트릭스 빌드

개발 중

TeamCity가 일련의 매개변수를 가져와 각 매개변수 조합에 대한 빌드를 실행할 수 있는 새로운 기능인 Matrix 빌드를 추가할 계획입니다. 이 기능은 다양한 환경(서로 다른 운영 체제, Java/.NET 버전, 서로 다른 브라우저 등)에서 동일한 빌드 또는 테스트를 실행해야 할 때 특히 유용합니다.

Matrix 빌드는 지정된 매개변수(예: OS 및 환경) 세트를 한 번 설정한 다음 다른 빌드 구성에서 동일한 세트를 동시에 실행할 수 있도록 하여 시간과 노력을 크게 줄여줄 것입니다.

배포 대시보드

개발 중

배포된 빌드의 기록을 저장할 수 있도록 할 예정입니다.

이 새로운 기능을 이용하면 프로덕션에 배포된 버전과 스테이징에 배포된 버전 등, 모든 배포의 현재 상태를 확인할 수 있게 됩니다.

또한 모든 인스턴스에 대한 배포 기록 보고서에 액세스할 수 있습니다. 배포 대시보드에서 인스턴스 목록, 현재 상태(진행 중, 성공, 실패) 및 관련 빌드 세부 정보(타이밍, 에이전트, 빌드를 트리거한 사람 등)를 확인할 수 있습니다.

진행 상황 팔로우하기

지정된 시간에 실행되도록 빌드 예약

개발 중

빌드가 즉시 실행되지 않고 지정된 시간에 실행되도록 예약할 수 있으면 좋겠다고 생각한 적이 있으신가요?

지정된 시간(시간대 포함) 또는 지금부터 경과된 시간(예: 지금부터 2시간 후)에 빌드가 실행되도록 예약할 수 있는 기능을 개발 중입니다.

빌드는 즉시 대기열에 추가되고 지정된 예약 시간까지 기다립니다.

진행 상황 팔로우하기

복합 빌드에서 공유 리소스 사용

탐색 중

복합 빌드에 잠긴 값을 해당 종속성 빌드에 전달할 수 있도록 할지 검토하고 있습니다. 또한 앞으로는 TeamCity 사용자가 스냅샷 종속성과 연결된 일련의 빌드에 대한 리소스를 잠글 수 있도록 하는 기능을 제공하려고 합니다.

자세히 알아보기

TeamCity의 UI

개발자들은 매일 같이 CI/CD 솔루션을 사용하기 때문에 TeamCity를 집처럼 편하게 느끼기를 저희는 바랍니다.

Sakura UI 탭 마이그레이션

개발 중

2022.10 버전부터 Sakura UI가 TeamCity에서 기본적으로 사용됩니다. 현재 클래식 UI와 Sakura UI의 기능이 완전히 동등해지는 방향으로 작업을 진행하고 있습니다. 이를 구현하기 위해 클래식 UI의 페이지를 다시 구현하고 플러그인 하위 시스템을 재정비하여 Sakura UI에 플러그인 탭을 통합할 예정입니다.

TeamCity 온보딩 개선 사항

개발 중

TeamCity는 수많은 고급 기능을 갖춘 강력한 CI/CD 시스템입니다. 사용자가 TeamCity에 더 쉽게 익숙해지고 원하는 방식으로 소프트웨어를 정확하게 구성할 수 있도록 솔루션 내에서 온보딩 가이드를 제공할 예정입니다. 대화형 가이드와 힌트는 신규 사용자에게 TeamCity를 효과적으로 사용하는 방법을 알려주고 기존 고객이 클래식 UI에서 Sakura UI로 어려움 없이 마이그레이션하도록 도와줄 것입니다.

대화형 가이드 및 템플릿 프로젝트

설계 중

사용자 온보딩을 개선하기 위해 TeamCity에 템플릿 데모 프로젝트를 도입할 예정입니다. 이러한 템플릿 프로젝트를 사용하면 자체 코드 베이스를 CI/CD 도구에 연결하지 않고도 TeamCity를 사용해 볼 수 있으며 첫 그린 빌드를 더 빠르게 완성할 수 있습니다.

대화형 가이드는 UI 내에서 바로 TeamCity의 핵심 기능에 대한 개요를 제공합니다. 이 가이드는 TeamCity에 더 빨리 익숙해질 수 있도록 다양한 시나리오와 사용 사례를 제시합니다.

Sakura UI 성능

개발 중

더 큰 규모의 TeamCity 설치에서 성능을 개선하기 위해 노력하고 있습니다. 에이전트와 프로젝트 페이지에 일차적인 중점을 두고 있습니다. 첫 바이트까지 걸리는 시간, 누적 레이아웃 이동, 대화형 지표까지 걸리는 시간 및 기타 웹 바이탈을 줄이는 것이 목표입니다. TeamCity 사용자는 모든 브라우저에서 애플리케이션 페이지를 더 빠르게 렌더링하고 로드할 수 있습니다.

Sakura UI: 문제 탭

개발 중

TeamCity는 프로젝트 및 빌드 수준에서 현재의 문제와 조사 내용에 대한 개요를 제공합니다. 사용자는 빌드 구성 오류, 실패한 테스트, 조사 중인 문제를 검토하고 담당자와 현재 상태를 확인할 수 있습니다.

빌드 문제

사용자에게 선택한 프로젝트의 모든 이슈와 상태에 대한 개요를 더 효과적으로 제공하기 위해 UI를 새롭게 손보고 있습니다. 이제 일반 탭인 Problems(문제)에서 이러한 문제와 상태를 확인할 수 있습니다.

여기에서 사용자는 유형(실패한 테스트, 빌드 문제, 빌드 구성 문제), 상태(끄기/끄기 해제) 및 조사자(담당자)를 기준으로 문제를 필터링할 수 있습니다.

이번 업데이트에서 JetBrains는 사용자에게 기존 빌드 문제와 그 상태를 보다 편리하고 간결하게 검토할 수 있는 방법을 제공하기 위해 노력하고 있습니다.

빌드 문제

TeamCity 파이프라인

TeamCity Pipelines는 JetBrains 제품의 대표적 인텔리전스를 기반으로 CI/CD 파이프라인 구축을 위한 단순하고 직관적인 경험을 제공하게 될 것입니다.

TeamCity 파이프라인

TeamCity Pipelines를 통해 세우고 있는 계획은 빌드 및 테스트 자동화 프로세스의 개별 단계에서 탈피해 전달 파이프라인 설정의 전반적인 경험으로 중점을 전환하는 것입니다. TeamCity Pipelines는 JetBrains 제품의 대표적 인텔리전스를 기반으로 CI/CD 파이프라인 구축을 위한 단순하고 직관적인 경험을 제공하게 될 것입니다.

TeamCity Pipelines의 완전히 새로운 시각적 파이프라인 에디터는 TeamCity의 CI/CD 엔진을 기반으로 복잡한 CI/CD 파이프라인 작업을 간단하게 만들어 기업 수준의 워크로드를 처리하는 성능을 제공할 수 있습니다. TeamCity Pipelines에 내장된 지능형 구성 지원은 파이프라인 구성의 모든 단계를 안내하고 그 과정에서 최적화를 자동으로 제안합니다.

TeamCity Pipelines에 대해 작업 중인 새로운 기능 중 일부를 소개하면 다음과 같습니다.

코드형 구성을 위한 YAML

탐색 중

Kotlin DSL은 파이프라인을 코드로서 구성하는 강력한 방법입니다. 그러나 일부 사용자는 CI/CD 업계에서 널리 사용되는 언어인 YAML을 사용하여 CI/CD 프로젝트 구성을 시작하는 편이 더 쉽다고 생각할 수도 있습니다.

TeamCity Pipelines는 사용자에게 YAML을 사용하여 빌드 설정을 저장하고 작업과 해당 종속성을 정의할 수 있는 기회를 제공합니다.

테스트 병렬화

개발 중

TeamCity는 사용자의 추가적 입력 없이 스마트 알고리즘을 사용하여 테스트 도구를 자동으로 병렬화할 수 있습니다. 사용자는 테스트를 병렬로 실행해야 하는 빌드 에이전트 수만 선택하면 됩니다. 이렇게 하면 다음 실행 시 빌드 시간을 크게 줄이는 데 도움이 됩니다.

에이전트 플레이그라운드

설계 중

때로는 TeamCity 빌드 에이전트에 설치된 소프트웨어, 에이전트가 사용하는 특정 OS, 사용자가 JetBrains 호스팅 빌드 에이전트를 수정할 수 있는 방법을 이해하기 어려울 수 있습니다.

에이전트 플레이그라운드

파이프라인을 실행하지 않고도 에이전트에서 스크립트를 실행할 수 있는 일종의 에이전트 플레이그라운드를 개발하려고 합니다. 그러면 빌드가 완료된 후, 사용자가 조사 및 디버그 목적으로 플레이그라운드 에이전트에 연결할 수 있습니다.

또한 에이전트 환경을 빠르게 확인하고 특정한 에이전트 문제를 디버그하기 위해 TeamCity Pipelines UI에서 직접 에이전트 터미널을 열 수 있는 기능도 제공할 예정입니다.

Docker 통합 개선

설계 중

파이프라인 구성에 필요한 소프트웨어를 에이전트에서 사용할 수 없는 경우, Docker 컨테이너에서 빌드를 실행하도록 선택할 수 있습니다.

The enhanced Docker integration in TeamCity Pipelines will allow you to use the autocomplete feature to find the correct Docker image from https://hub.docker.com/. 또한 이전에 사용된 Docker 이미지 목록을 표시하고 발견된 각 Docker 이미지 결과에 대한 링크도 제공합니다. 그러면 필요한 Docker 이미지를 더 쉽고 빠르게 찾을 수 있습니다.

Docker Hub에 특정 이미지가 존재하지 않는 경우 사용자 친화적인 솔루션을 제공할 수 있는 가능성을 검토하고 있습니다. 사용자는 현재 VCS 저장소에서 Docker 파일을 참조할 수 있습니다.

Docker 통합 개선

적용된 최적화와 권장 최적화 표시

설계 중

TeamCity는 지능형 테스트 병렬화, 빌드 재사용, 캐싱 및 기타 기능을 통해 조직이 빌드 시간을 크게 단축하도록 도움을 줄 수 있습니다. 현재 TeamCity는 각 빌드 실행에 대해 최적화된(절약된) 총 시간을 표시합니다.

이 기능을 확장하기 위해 빌드 실행에 적용된 최적화에 대해 보다 포괄적인 뷰를 제공할 예정입니다. 또한 빌드 시간을 더욱 단축하기 위해 적용할 수 있는 잠재적인 최적화 목록을 제공하려고 노력하고 있습니다.

TeamCity Pipelines 얼리 액세스는 여기에서 신청할 수 있습니다.

TeamCity 인사이더 되기

TeamCity: Cloud

사용자들이 빌드 인프라를 설치하고 유지관리하는 어려움 없이 개발에 임할 수 있기를 바랍니다. 이를 위해 온전히 JetBrains가 호스팅하고 관리하는 완전 관리형 CI/CD 솔루션인 TeamCity Cloud를 제공합니다. 클라우드 설치에 필요하지 않은 몇 가지 관리 기능을 제외하고 온프레미스 버전과 기능이 동일합니다.

개발하는 모든 기능은 두 버전 모두에 해당하지만, TeamCity Cloud의 로드맵에는 다음과 같은 다양한 추가 기능이 포함됩니다.

  • Apple Silicon(M1 칩)을 사용하는 macOS 에이전트 개발 중
  • 다른 JetBrains 제품과의 통합 설계 중
  • 오픈 소스 친화적 라이선스 설계 중
  • 새로운 가격 계층. 개발 중

무료로 빌드 시작하기