TeamCity 2024.03: 번들로 제공되는 HashiCorp Vault 플러그인, 신뢰할 수 없는 빌드 등

버전 2024.03에서는 많은 기대를 모으고 있는 여러 기능을 도입했습니다. 예를 들어, HashiCorp Vault 플러그인이 이제 TeamCity와 함께 번들로 제공됩니다. 또한 새로운 신뢰할 수 없는 빌드 그룹을 사용하면 신뢰할 수 있는 사용자가 작성한 변경 사항과 외부 소스의 변경 사항을 구별할 수 있습니다.

그뿐 아니라, 새로 도입된 dotCover 러너를 사용하면 사용자가 코드 커버리지 프로파일링에 따라 프로세스를 실행하고, 빌드 단계 간에 스냅샷을 병합하고, TeamCity에서 실행되는 병렬 테스트를 위해 빌드 체인 전반에 걸쳐 통합 보고서를 생성할 수 있습니다.

TeamCity의 새로운 기능에 대해 자세히 알아보려면 계속해서 읽어보세요.

번들 구성: HashiCorp Vault 플러그인을 이제 TeamCity에 포함

TeamCity는 한동안 플러그인을 통해 HashiCorp Vault를 통합하여 그 기능을 이용했습니다. 작년에는 이 통합의 작동 방식을 향상하여 구성을 훨씬 간편하게 만들었습니다.

버전 2024.03부터는 플러그인을 TeamCity와 번들로 묶어 모든 TeamCity 설치의 필수 구성 요소로 포함했습니다.

관련 문서에서 TeamCity의 HashiCorp Vault 통합에 대해 자세히 알아보세요.

선택적 아티팩트 종속성

아티팩트 종속성은 빌드 구성이 다른 구성이나 동일한 구성 내의 빌드에서 생성된 파일을 페치할 수 있도록 합니다. 이러한 종속성을 구성하려면 다운로드할 파일과 해당 스토리지 위치를 지정하는 아티팩트 규칙을 정의합니다.

이전에는 TeamCity가 이러한 규칙에 따라 파일을 찾을 수 없는 경우, "Unable to resolve artifact dependency"(아티팩트 종속성을 해결할 수 없습니다)"라는 오류와 함께 빌드가 실패했습니다.

버전 2024.03부터는 아티팩트 종속성을 더 유연하게 정의하는 방식을 도입합니다. 이제 다음과 같은 경우 종속성이 무시되도록 구성할 수 있습니다.

  • 소스 빌드가 하나도 없습니다(다른 강제 규칙이 없는 한).
  • 소스 빌드에 필수 파일이 없습니다.
  • 아티팩트 규칙이 아카이브를 기반으로 하며, 이 아카이브에 필요한 파일이 포함되어 있지 않습니다.

이 기능에 대한 피드백을 제공하고 싶다면 언제든지 이 YouTrack 티켓을 이용해 저희에게 알려주세요.

새로운 기능의 전체 목록을 보려면 문서의 새로운 기능 페이지를 방문하세요.

신뢰할 수 없는 빌드 그룹을 지정해 외부 풀 리퀘스트에 대한 제어 강화

풀 리퀘스트 기능을 사용하면 코드를 메인 코드 베이스에 병합하기 전에 검토할 수 있습니다. 사용자는 모든 기여자로부터, 혹은 조직 내의 기여자로부터 받은 빌드만 실행하도록 선택할 수 있습니다. 전자를 선택하면 보안 위험이 수반되어 잠재적으로 TeamCity 서버가 유해한 코드에 노출되는 반면, 후자를 선택하면 광범위한 기여자와의 협력이 제한됩니다.

버전 2024.03에는 TeamCity가 신뢰할 수 있는 사용자가 작성한 변경 사항과 외부 소스의 변경 사항을 구별할 수 있도록 신뢰할 수 없는 빌드 그룹이라는 기능이 도입되었습니다.

신뢰할 수 없는 빌드 그룹을 지정해 외부 풀 리퀘스트에 대한 제어 강화

신뢰할 수 없는 빌드 그룹은 현재 GitHub 및 GitLab을 지원합니다. 관련 문서에서 자세히 알아보세요.

새로운 dotCover 러너

JetBrains dotCover는 한동안 TeamCity에서 .NET 관련 프로젝트를 위한 코드 커버리지 도구로 지원되었습니다. 2024.03 버전에서는 dotCover 도구와 통합하는 새로운 빌드 러너를 .NET 지원 플러그인에 추가했습니다.

새로운 dotCover 러너로 다음을 수행할 수 있습니다.

  • dotCover 프로파일링에서 임의 프로세스를 실행하여 커버리지 스냅샷을 생성합니다.
  • 다른 .NET 또는 dotCover 러너에서 생성된 빌드 단계 스냅샷을 병합합니다.
  • 병렬 테스트를 위해 빌드 체인 전반에 걸쳐 병합 보고서를 생성하고 이를 TeamCity 사용자 지정 보고서로 변환합니다.

관련 문서에서 자세히 알아보세요.

TeamCity의 .NET 테스트 재시도 정책

2024.03 버전에서는 .NET 빌드 러너에 새로운 기능을 추가했습니다. 새로운 옵션을 사용하면 실패한 테스트에 대해 빌드 전체적인 재시도 정책을 설정할 수 있습니다.

신뢰할 수 없는 빌드 그룹을 지정해 외부 풀 리퀘스트에 대한 제어 강화

이 기능은 테스트 불안정성을 해결하고 통합 테스트의 일시적 실패를 줄이는 데 도움을 줍니다.

관련 문서에서 자세히 알아보세요.

Gradle 러너의 구성 캐시 지원

Gradle의 구성 캐시 옵션은 구성 단계의 결과를 캐시에 저장하고 후속 빌드에서 이를 재사용하여 빌드 성능을 크게 향상합니다. 버전 2024.03 이전에는 TeamCity의 Gradle 빌드 러너에서 이 기능을 지원하지 않았습니다.

이번 릴리스에서는 TeamCity에 이 기능을 도입하여 Gradle 빌드의 효율성과 성능을 향상했습니다. TeamCity 설정에서 구성 캐시 옵션을 활성화하는 방법에 대한 자세한 내용은 관련 문서를 확인하세요.

TeamCity 2023.11: 매트릭스 빌드, 빌드 캐시 등 다양한 새 기능

많은 요청이 있었던 만큼 TeamCity 2023.11에는 매트릭스 빌드 및 빌드 캐시를 포함하여 빌드를 보다 쉽게 구성하는 데 도움을 주는 기능이 포함되었습니다.

GitHub, GitLab, Bitbucket 및 Azure DevOps를 포함한 Git 호스팅 플랫폼과의 통합이 향상되어 이제 더 쉽게 인증할 수 있습니다.

EC2 및 S3 플러그인용으로 완전히 새롭게 설계된 UI는 이러한 Amazon 서비스 사용을 단순화합니다.

계속해서 새로운 내용에 대해 알아보세요.

매트릭스 빌드를 소개합니다

매트릭스 빌드 이미지

TeamCity의 매트릭스 빌드를 이용해 매개변수와 해당 값의 조합을 정의하여 빌드 매트릭스를 생성할 수 있습니다. 매개변숫값의 각 조합에 따라 고유한 빌드를 생성하면 그러면 매트릭스 빌드는 동시에 실행되는 여러 개의 다중 빌드로 구성됩니다.

매트릭스 빌드는 운영 체제나 브라우저 버전과 같은 다양한 구성에서 소프트웨어를 테스트할 때 특히 유용합니다.

Read more about matrix builds in our documentation.

빌드 캐시를 이용한 축소, 재사용, 재활용

빌드 캐시로 시간 단축, 재사용, 재활용

CI/CD에서는 일회용 빌드 에이전트를 사용하는 것이 가장 좋고 안전한 방법으로 간주됩니다. 하지만 모범 사례를 따르는 데는 항상 어려움이 따릅니다.

일회용 빌드 에이전트에서 빌드를 실행할 때는 빌드 실행을 위해 항상 인터넷에서 큰 용량의 라이브러리 또는 여러 개의 라이브러리를 다운로드해야 합니다. 이로 인해 빌드 시간이 느려지고 빌드 시작이 지연됩니다.

이제는 더 이상 그럴 필요가 없습니다!

빌드 캐시는 프로젝트에 사용되는 파일을 다운로드한 다음 프로젝트 내에서 이를 재사용하여 CI/CD 빌드 시간을 최적화하는 데 도움을 줍니다.

Learn more about Build Caches in our documentation.

클라우드 관련 개선 사항: EC2 및 S3 플러그인 업데이트

클라우드 관련 개선 사항: EC2 및 S3 플러그인 업데이트

2023.11 릴리스에서는 클라우드 프로파일과 이미지 설정에 대한 접근 방식을 완전히 새롭게 구상했습니다. 새로운 UI가 관련 설정 옵션을 제안하면서 프로세스를 안내합니다.

이제 EC2 Mac 인스턴스 사용, 스팟 배치 점수가 포함된 AWS EC2 스팟 인스턴스 빌드 에이전트 실행 등 다양한 이점을 누릴 수 있습니다.

S3 플러그인에는 Amazon S3 버킷과 S3 호환 스토리지를 모두 염두에 두고 설계된 직관적이고 간소화된 새로운 UI도 포함되어 있습니다.

관련 문서에서 자세히 알아보세요.

TeamCity로 Git 지원

TeamCity는 GitHub, GitLab, Bitbucket(클라우드 및 데이터 센터 모두), Azure DevOps를 포함한 Git 호스팅 플랫폼과의 원활한 통합을 제공합니다.

GitHub

2023.05에서는 GitHub에 대한 새로운 유형의 연결을 도입했습니다. 저장소에 대한 기존 OAuth 기반 액세스를 활용하는 대신 GitHub 앱을 사용할 수 있습니다.

2023.11 버전부터 이러한 연결을 보다 효율적으로 설정할 수 있으므로 GitHub에서 새 앱을 수동으로 구성하고 등록할 필요가 없습니다.

TeamCity로 Git 지원

인증 측면에서는 이제 Commit Status Publisher, Pull Requests(풀 리퀘스트) 빌드 기능 및 GitHub 이슈 트래커 설정 페이지에서 GitHub 앱 연결을 위해 개인이 특정되지 않고 새로 고침이 가능한 액세스 토큰을 발급할 수도 있습니다.

GitLab

버전 2023.11부터 GitLab의 Pull Requests(풀 리퀘스트) 빌드 기능에서 병합 요청 초안을 무시하도록 TeamCity를 구성할 수 있습니다.

GitLab

GitLab 저장소를 대상으로 하는 Commit Status PublisherPull Request(풀 리퀘스트)가 이제 새로 고칠 수 있는 OAuth 토큰을 사용하여 인증을 통과할 수 있습니다.

새로 고침 가능한 토큰을 이용한 인증 지원

GitLab 저장소를 대상으로 하는 Commit Status PublisherPull Request(풀 리퀘스트)가 이제 새로 고칠 수 있는 OAuth 토큰을 사용하여 인증을 통과할 수 있습니다.

Azure DevOps

TeamCity는 이제 Azure DevOps용 Commit Status PublisherPull Request(풀 리퀘스트) 빌드 기능에 대해 새로 고칠 수 있는 OAuth 토큰을 지원합니다.

관련 문서에서 자세히 알아보세요.

Bitbucket Cloud

이번 릴리스에서는 여러 가지 방식으로 Bitbucket 인증을 강화합니다.

In addition to app passwords and VCS Root credential authentication types, TeamCity also supports refreshable and permanent access tokens as an authentication method for the Pull Request Build Feature for Bitbucket Cloud.

Bitbucket Server/Data Center

이제 Pull Requests(풀 리퀘스트) 기능에서 새로 고침이 가능한 OAuth 토큰을 사용하여 Bitbucket Server/Data Center의 저장소에 액세스할 수 있습니다.

관련 문서에서 자세히 알아보세요.

Perforce Helix Swarm 통합 개선

Perforce Helix Swarm 통합 개선

We’ve also improved the existing Swarm and TeamCity integration. 이 통합을 통해 Swarm에서 TeamCity 빌드 상태를 사용하고 TeamCity UI에서 Swarm 인터페이스로 이동할 수 있습니다.

2023.11 버전부터 Commit Status Publisher 빌드 기능용 TeamCity Perforce Helix Swarm 게시자를 Swarm 설정에 있는 기존의 사용자 지정 워크플로와 통합할 수 있습니다. 또한 Commit Status Publisher에 더 이상 관리자 액세스 권한이 있는 사용자의 자격 증명이 필요하지 않습니다.

이제 TeamCity에서 Swarm 관리자 수준의 자격 증명을 사용하지 않고도 통합을 설정할 수 있습니다. 업데이트된 통합을 통해 TeamCity 검사를 기반으로 하는 게이트를 사용자 지정 워크플로에 포함할 수도 있습니다.

관련 문서에서 자세히 알아보세요.

에이전트 풀을 즐겨찾기로 지정

Pull Requesst(풀 리퀘스트) 빌드 기능에서 초안 풀 리퀘스트에 대한 지원 개선

이제 특정 에이전트 풀을 즐겨찾기로 표시하고 통합된 위치에서 액세스할 수 있습니다. 이 기능은 자신이 담당하는 에이전트 풀에 액세스해야 할 때 유용합니다.

터미널 성능 강화: 에이전트 터미널을 통해 에이전트에 원활하게 액세스

터미널 성능 강화: 에이전트 터미널을 통해 에이전트에 원활하게 액세스

Agent terminal is a unique TeamCity feature that provides a convenient and quick way to get direct access to an agent machine by opening a remote terminal directly from the TeamCity UI. Linux, Windows(PowerShell 사용) 및 macOS에서 지원됩니다.

2023.11 버전부터 에이전트 터미널을 열기 위해 탭을 전환할 필요가 없습니다. TeamCity UI의 동일한 페이지에서 열립니다.

TeamCity 2023.05: 어두운 테마, 에이전트 터미널 등

TeamCity 2023.05는 어두운 테마, 에이전트에 대한 향상된 터미널 액세스, 다중 노드 설정 개선을 포함하여 가장 기대되었던 다양한 기능을 제공합니다. 보안을 더욱 강화하기 위해 TeamCity는 이제 Let's Encrypt와 통합되고 사용자 지정 그룹에 2단계 인증을 제공합니다. 이번 릴리스에는 GitHub 앱 연결 및 실행 중인 빌드에서 직접 사용자 지정 Slack 메시지를 보내는 기능과 같은 흥미로운 새 기능도 도입되었습니다.

어두운 테마 살펴보기

개발자는 일상적인 도구를 사용하는 동안 편안함을 느껴야 합니다. TeamCity 역사상 가장 많은 찬사를 받은 기능 중 하나인 어두운 테마를 개발한 이유가 바로 여기에 있습니다.

어두운 테마는 눈의 피로를 줄이고 시각적 방해 요소를 제거하는 데 도움을 줄 수 있습니다. 또한, 일부 사용자는 이를 미학적으로 더 만족스럽다고 생각합니다.

TeamCity의 어두운 테마는 클래식 및 Sakura UI 모두에서 사용할 수 있습니다. Light(밝은)Dark(어두운) 옵션 외에도 OS 설정과 자동으로 일치시키는 System theme(시스템 테마)을 선택할 수도 있습니다.

에이전트 터미널

Agent terminal

TeamCity 2023.05에서는 이제 TeamCity UI에서 직접 에이전트 시스템에 대한 원격 터미널을 열어 간편하게 에이전트 로그를 보고, 설치된 소프트웨어를 확인하며, 특정 에이전트 문제를 디버그할 수 있습니다.

원격 터미널이 에이전트에 연결하기 위해 SSH 키를 관리할 필요성을 없애주기 때문에 이 새로운 기능은 에이전트 문제를 해결할 때 특히 유용합니다. Mac, Linux 및 Windows(PowerShell 사용)에서 지원됩니다.

다중 노드 설정 향상

다중 노드 설정 향상

이번 릴리스에서는 기본 노드와 보조 노드 간에 로드를 효율적으로 분산하는 개선된 요청 분산 논리도 구현했습니다.

TeamCity의 확장성을 향상시키기 위해 이제 노드를 완전히 상호 교환할 수 있습니다. TeamCity 네트워크 내의 모든 노드는 사용자 요청의 균형을 맞추는 데 기여할 수 있으므로 모든 노드에서 웹 UI 사용자가 생성하는 워크로드를 보다 고르게 분산할 수 있습니다.

VCS 폴링 작동을 여러 노드에 할당

2023.05 버전에서 TeamCity 사용자는 더 이상 VCS 저장소 폴링 작동에 단일 노드만 사용할 필요가 없습니다. 최신 릴리스에서는 이 기능을 여러 노드에 위임할 수 있으므로 워크로드가 더 고르게 분산되고 새 커밋을 더 빠르게 식별하며 빌드를 더 빠르게 시작할 수 있습니다.

이 향상된 기능을 활용하여 사용자는 빌드, 테스트 및 배포 프로세스를 간소화함으로써 전반적인 효율성을 높이고 지연을 줄이며 생산성을 높일 수 있습니다.

보안 강화

TeamCity에서는 강력한 보안이 무엇보다 중요합니다. 데이터 유출과 잠재적인 비즈니스 중단을 더욱 강력하게 방지하기 위해 제품에 다음과 같은 기능을 통합했습니다.

Let’s Encrypt와 통합

이제 TeamCity는 웹 사이트에서 HTTPS의 원활한 작동을 위해 무료 자동 디지털 인증서를 제공하는 인증 기관인 Let's Encrypt와 통합됩니다. Let's Encrypt에 연결하면 TeamCity가 유효한 인증서를 자동으로 가져와 설치하며, 이후에 사용자 개입 없이 업데이트가 진행됩니다.

이중 인증

이전 버전에서는 필수 2단계 인증 모드를 활성화하면 전체 서버에 영향을 미쳤습니다. 그러나 이 최신 릴리스에서는 전역 모드가 Optional(옵션)로 설정되어 있더라도 2FA를 사용해야 하는 사용자 그룹을 사용자 지정할 수 있습니다.

GitHub 앱 연결

GitHub 앱 연결

이제 TeamCity는 GitHub App으로서 인증을 받아, GitHub를 이용해 협업할 수 있습니다. 이 최신 기능을 통해 별도의 서비스 계정을 만들거나 사용자를 대리할 필요 없이 다양한 액션을 실행하고 GitHub API를 이용할 수 있습니다.

GitHub App 연결의 가장 큰 이점은 TeamCity가 더 이상 사용자의 자격 증명을 사용하여 GitHub에 액세스할 필요가 없다는 것입니다. 대신, 사용자의 GitHub 조직/계정에서 GitHub App 설치용으로 부여된 갱신 가능한 비개인 토큰을 사용합니다. 이 기능은 누군가가 조직을 떠나거나 액세스 권한이 변경된 경우에 특히 유용합니다.

풀 리퀘스트 빌드 기능에서 초안 풀 리퀘스트에 대한 지원 개선

풀 리퀘스트 빌드 기능에서 초안 풀 리퀘스트에 대한 지원 개선

GitHub 초안 풀 리퀘스트를 무시하도록 Pull Requests(풀 리퀘스트) 빌드 기능을 구성하는 기능은 TeamCity 2022.12에서 도입되었습니다.

버전 2023.05에서는 여기서 더 나아가 Pull Requests 빌드 기능을 사용할 때 GitHub 초안 풀 리퀘스트를 무시할 수 있도록 했습니다. 해당 기능 설정에서 Ignore Drafts(초안 무시) 옵션을 활성화할 수 있으며, 활성화하면 TeamCity가 상태가 변경될 때까지 초안 풀 리퀘스트를 무시합니다.

사용자 지정 가능한 알림

TeamCity 사용자는 이미 특정 이벤트에 대한 이메일 및 Slack 알림을 구성할 수 있습니다. 버전 2023.05에서는 이 기능을 더욱 개선하여 서비스 메시지를 사용하여 Slack 메시지 및 이메일 알림을 보낼 수 있도록 했습니다.

사용자 지정 가능한 알림

메시지가 잘못된 수신자에게 배달되는 것을 방지하고 신뢰할 수 없는 외부 리소스에 대한 링크를 제한하기 위해 이러한 서비스 메시지에는 고유한 보안 조치가 포함되어 있습니다.

이것이 특히 도움이 될 수 있는 한 가지 시나리오는 특정 조건이 충족될 때, 또는 진행 중인 배포에서 빌드가 진행되는 동안 즉각적인 검토가 필요한 오류를 보고하는 경우와 같이 중요한 이벤트가 발생할 때 알림을 보내는 것입니다.

서비스 메시지를 통해 빌드 태그 추가 및 제거

서비스 메시지를 통해 빌드 태그 추가 및 제거

사용자 지정 알림을 보내는 것 외에도 서비스 메시지를 사용하여 빌드 태그를 추가하고 제거할 수 있습니다.

빌드 태깅을 통해 사용자는 특정 기준에 따라 빌드를 분류하고 구성할 수 있습니다. 예를 들어, 빌드 태그를 활용하여 빌드 실패의 원인을 나타낼 수 있으므로 유사한 실패 원인이 있는 빌드를 쉽게 찾을 수 있습니다.

Podman 지원

Podman 지원

2023.05 릴리스에서는 사용자가 루트 권한 없이 컨테이너를 관리할 수 있게 해주는 컨테이너 엔진인 Podman에 대한 지원을 도입했습니다. Docker 명령어와 완벽하게 호환되므로 엔진 사이를 전환하기가 더 쉬워집니다.

이제 여러분 차례입니다

새로운 기능의 전체 목록을 보려면 문서의 새로운 기능 페이지를 방문하세요.

언제나처럼 여러분의 많은 피드백을 기다리고 있습니다! 지원 양식을 통해 언제든지 요청을 제출하세요.

TeamCity 2022.10

TeamCity 2022.10은 기본적으로 Sakura UI가 적용된 상태로 제공되며 AWS 자격 증명 관리 시스템 및 AWS EC2 기반 빌드 에이전트에 대한 즉각적인 터미널 액세스를 비롯한 많은 클라우드 관련 기능을 도입했으며 VCS 통합에 중요한 개선 사항이 추가되었습니다. 온프레미스 TeamCity 설치를 위해 HTTPS를 보다 간소화된 방식으로 구현할 수 있게 된 점은 서버 관리자들이 반길 일입니다. 또한 Google 계정을 사용하기 위한 새로운 인증 모듈과 오랫동안 요청되어 왔던 여러 기능이 구현되었습니다.

Sakura UI: 세부적인 부분까지 완벽

Sakura /sa.ku.ʁa/ 또는 벚꽃은 새로움과 희망의 시간을 상징하며 이는 TeamCity 2022.10에서 Sakura UI를 디폴트로 만들었을 때 저희의 마음을 그대로 표현합니다.

Sakura UI는 현대적이고 아름다우며 빠릅니다. 접근성을 염두에 두고 설계된 이 UI는 클래식 UI의 기능을 동일하게 가져오면서 새롭고 고유한 많은 기능도 함께 제공합니다. Sakura UI는 4년 넘게 작업이 진행되었고 아주 작은 부분까지 완벽하도록 제작되었습니다. IntelliJ IDEAKotlin과 같은 대형 프로젝트를 비롯해 수천 개의 내부 및 외부 프로젝트에서 이를 테스트하는 특별한 기회를 가졌습니다. 여러분도 마음에 드실 겁니다!

일부 사용자는 이전 사용자 인터페이스에 애착을 느낄 수 있다는 점을 고려해 제한된 기간 동안 기존 UI를 사용할 수 있도록 유지할 예정입니다. 하지만 앞으로 버전을 거듭하면서 기존 UI는 지원 중단되고 Sakura UI로 완전 대체될 것이므로 부족한 부분이 있다고 생각된다면 YouTrack에서 이슈를 생성해주시기 바랍니다.

3, 2, 1, 클라우드를 향해 발사!

점차 많은 고객들이 TeamCity 설치를 클라우드로 이동하고 있는 만큼, 클라우드 기능을 확장하기 위한 작업도 계속 진행되고 있습니다.

AWS 자격 증명을 더 쉽고 안전하게 관리

단기간 유효한 임시 AWS 키를 발급하고 빌드용으로 이를 안전한 방식으로 노출하는 새로운 AWS 자격 증명 관리 시스템을 구현했습니다.

AWS EC2 기반 빌드 에이전트에 대한 터미널 액세스

모든 개발 팀은 전달 파이프라인을 완벽하게 파악하고 제어할 수 있어야 한다고 생각합니다. 클라우드 CI/CD의 디버그 경험을 개선하기 위해, TeamCity UI에서 직접 AWS EC2 기반 빌드 에이전트에 대한 안전한 터미널 세션을 여는 기능을 추가했습니다. 따라서 클라우드 공급자의 관리 콘솔에 액세스하거나 바쁜 DevOps 팀에게 네트워크 액세스 목록과 SSH 키 쌍을 설정하도록 요청할 필요가 없습니다.

이 기능의 사용 가능 여부는 Open an interactive session to the agent(에이전트에 대한 대화형 세션 열기) 권한으로 관리됩니다. 이 권한은 기본적으로 서버 관리자에게만 활성화되지만 필요할 때 다른 사용자에게도 할당할 수 있습니다.

클라우드 에이전트 유지관리 모드

클라우드 인스턴스에서 실행된 CI/CD 파이프라인의 문제를 디버그해야 했던 적이 있다면 이 작업이 까다로울 수 있다는 사실을 아실 겁니다. 시간과 노력을 들여 올바른 빌드 에이전트를 식별하고 실행해야 할 뿐만 아니라 프로세스 중간에 새 빌드가 시작되지 않도록 해야 합니다.

여기서 유지관리 모드의 필요성이 생깁니다. 이 모드에서는 빌드 완료 후 TeamCity가 클라우드 에이전트를 자동으로 종료하지 않으며, 에이전트는 새 빌드 실행에 할당되지 않으므로, 사용자가 문제 해결을 수행할 수 있습니다.

다중 서버 설정에서 클라우드 인스턴스 관리

TeamCity 2022.10부터 TeamCity의 보조 노드는 클라우드 인스턴스를 시작 및 중지할 수 있어, 기본 서버가 유지관리되는 동안 클라우드 기반 CI가 중단 없이 운영됩니다.

향상된 VCS 통합

Perforce

TeamCity 2022.10에는 Perforce 도구 통합과 관련된 두 가지 개선 사항이 있습니다.

  • Perforce Shelve Trigger는 이제 보류된 변경 목록이 디폴트가 아닌 스트림과 관련되어 있을 때 이를 이해하고 해당 스트림에서 빌드가 실행될 수 있도록 합니다.
  • 이제 TeamCity는 Perforce Helix Swarm에서 검토가 있는 변경 목록을 탐지하고 Build Overview(빌드 개요)Changes(변경 내용) 페이지에 해당 검토 및 변경 페이지에 대한 링크를 각각 추가합니다.

OAuth 연결에서 새로고침 토큰 지원

TeamCity 2022.10은 이제 GitLab, Bitbucket Cloud 및 Azure DevOps로 작업할 때 단기 OAuth 토큰을 사용하므로 사용자는 이러한 서비스에 대한 액세스 토큰을 수동으로 생성할 필요 없이 VCS 루트를 생성할 수 있습니다.

한 차원 개선된 보안

기본으로 제공되는 HTTPS 지원

기본으로 제공되는 HTTPS 지원

오늘날 CI/CD 파이프라인 보안은 그 어느 때보다 중요해졌습니다. 2022.10 버전에서는 TeamCity 서버에 대해 HTTPS를 쉽게 활성화할 수 있습니다. HTTPS 인증서 또는 인증서 체인을 PEM 형식으로 업로드하기만 하면 나머지는 TeamCity가 처리합니다.

제한된 액세스 토큰

이제 다른 사람들이 자신의 계정으로 TeamCity에 로그인할 수 있도록 하는 임시 액세스 토큰을 생성할 수 있습니다. 단, 하나의 특정 프로젝트에 대한 보기 전용 액세스와 같이 권한 범위가 제한됩니다. 이는 누군가 파이프라인 디버그를 도와주길 원하는 경우 또는 데모를 만들 때 유용할 수 있습니다.

Google 계정으로 인증

TeamCity에서 더 많은 워크플로를 지원하고 사용자 경험을 더 원활하게 만들기 위해 이제 Google 계정을 사용한 인증을 지원합니다. Google로 로그인하면 TeamCity가 Google 이메일을 기존 TeamCity 사용자와 즉시 일치시키므로 비밀번호를 입력할 필요 없이 로그인할 수 있습니다. 또한 새 구성원의 이메일 주소가 지정한 도메인 이름 중 하나에 속하는 경우 새 구성원이 팀에 합류할 때 새 프로필을 자동으로 생성할 수도 있습니다.

향상된 디스크 공간 정리

Free Disk Space(여유 디스크 공간) 빌드 기능이 이제 아티팩트의 크기를 추적하고 아티팩트 종속성을 해결하는 데 필요한 디스크 공간을 자동으로 계산합니다. 이렇게 하면 빌드 중에 다운로드한 아티팩트의 크기를 더 이상 알 필요가 없고 빌드 프로세스 자체에 필요한 디스크 공간만 지정하면 되므로 빌드 기능을 더 간단하게 사용할 수 있습니다.

개인 빌드 승격

TeamCity 2022.10부터 개인 빌드를 승격시킬 수 있습니다. 승격 후에 실행되는 빌드도 개인 빌드가 됩니다.

지금까지 TeamCity 2022.10의 하이라이트를 소개했습니다. 전체 변경 목록은 TeamCity 문서를 참조하세요.

TeamCity 2022.04

TeamCity 2022.04 버전에 병렬 테스트 기능이 새롭게 도입되어 프로젝트 테스트 속도가 상당히 단축되었습니다. 더욱 강력해진 새 코드 분석 기능으로 코드 검토 시간을 단축하고 프로젝트 유지관리의 용이성을 높였습니다. 클라우드에서 빌드를 실행하는 사용자의 경우 한층 개선된 Amazon S3 및 Amazon CloudFront 통합과 프로그래밍 방식으로 클라우드 프로필을 관리하는 신규 옵션이 마음에 드실 겁니다. 그 외에도 VCS 통합이 개선되었으며, 새로운 구성 옵션 및 사용자 인터페이스에 추가된 여러 중요한 업데이트 등이 있습니다.

병렬 테스트로 놀라운 속도 향상

이제 TeamCity에서 여러 빌드 에이전트에 테스트를 지능적으로 배포하여 테스트 병렬 실행을 달성하고 전체 테스트 수행 시간을 최소화할 수 있습니다. 다른 CI/CD 솔루션과 달리 이 기능은 최근 실행뿐 아니라 테스트 기록도 고려합니다. 따라서 테스트 병렬화 또는 파이프라인에 문제가 발생할 염려 없이 자유롭게 코드를 리팩터링하고, 테스트를 변경하고, 프로젝트에 가장 적합한 작업을 수행할 수 있습니다.

병렬 테스트는 TeamCity의 개발 및 테스트 방식에 놀라운 변화를 가져왔습니다, 자체 통합 테스트 시간이 4시간에서 약 20분으로 10배 이상 단축되었습니다.

테스트 실행의 병렬화는 다양한 방법으로 구현 가능합니다. 가장 간편한 방법은 테스트 병렬화 기능을 기본적으로 지원하는 Maven, Gradle 또는 .NET 빌드 러너를 사용하는 것입니다. 다른 빌드 러너 및 사용자 지정 빌드 스크립트의 경우, TeamCity가 특수한 지침 파일에 테스트 병렬화를 위한 최적의 방법을 저장하므로 사용자는 병렬 테스트를 직접 설정할 수 있습니다.

코드 개선을 위한 코드 품질 검사 기본 제공

코드 개선을 위한 코드 품질 검사 기본 제공

TeamCity는 다양한 방식으로 버그를 제거하고 소프트웨어 품질을 개선하는 데 도움을 줍니다. 이제 한 가지 기능이 추가되었습니다! 2022.04 버전부터 고급 코드 품질 검사를 활성화하고 JetBrains Qodana에서 제공하는 다양한 여러 액션을 사용할 수 있습니다.

  • 정적 분석 검사 실행.
  • 코드 중복 찾기.
  • 시간 경과에 따른 코드 품질 변화 추적.

빌드 파이프라인에 코드 검사를 추가하면 코드 검토 시간을 단축하고 프로젝트의 유지관리의 용이성을 보장하며 팀의 모든 개발자가 보다 효율적으로 작업을 수행할 수 있습니다. We welcome you to check out a live demo.

더욱 향상된 클라우드 통합

클라우드로의 마이그레이션은 점차 빠르게 진행되고 있으며, 점점 더 많은 고객이 클라우드로 마이그레이션하려 합니다. TeamCity 2022.04는 Amazon Web Services와 통합을 강화하고 새로운 구성 옵션을 추가하여 클라우드 경험의 수준을 한 차원 높였습니다.

빌드 아티팩트를 Amazon S3로 마이그레이션

TeamCity에서는 Amazon EC2 및 Amazon S3와 강력한 통합이 항시 지원되어, 프로젝트 규모나 복잡성에 관계없이 빌드 인프라의 자유로운 확장이 가능했습니다. 2022.04 버전에서는 Amazon S3에 새 빌드 아티팩트를 저장하고, TeamCity의 로컬 스토리지의 기존 아티팩트를 Amazon S3로 마이그레이션할 수도 있습니다. 이 기능은 셀프 호스팅 설정에서 클라우드 플랫폼으로 마이그레이션을 시작하여 초반부터 모든 이점을 활용하려는 경우 특히 유용합니다.

Amazon CloudFront에서 빌드 아티팩트 다운로드

Amazon CloudFront에서 빌드 아티팩트 다운로드

사용자와 S3 버킷이 있는 리전의 지리상 거리에 따라, Amazon S3에 저장된 빌드 아티팩트를 이용한 작업 시 속도가 느리거나 비용이 많이 들 수 있습니다. TeamCity 2022.04는 비용 절감을 위해 Amazon CloudFront를 기본으로 지원하므로 사용자는 AWS에서 제공하는 가장 가까운 엣지 로케이션에 캐시된 아티팩트로 작업할 수 있습니다. 이 기능은 빌드 에이전트, 웹 사용자, API 요청 등 모든 수준에서 작동하여 개발 프로세스 속도를 대폭 단축할 수 있습니다.

프로젝트 수준에서 자동 확장을 관리하는 다양한 방법

언제나 빌드, 테스트 및 배포가 가능하도록 CI/CD 구성을 프로젝트의 코드 베이스와 함께 저장하는 것이 좋습니다. TeamCity 2022.04에서는 클라우드를 기반으로 한 소프트웨어 개발 시 유연성을 높이기 위해 Kotlin DSL이 확장되었습니다. 이제 모든 프로젝트에서 고유한 클라우드 프로필을 구성할 수 있습니다.

배포 워크플로 개선

앞서 로드맵을 통해 발표한 바와 같이 배포 워크플로 개선 작업을 시작했습니다. 그 첫 단계로 빌드 승인을 출시했습니다. 이제 빌드 구성을 생성하여, 해당 구성이 트리거된 직후 시작되지 않고 승인 팀의 모든 구성원으로부터 승인을 받을 때까지 대기열에 남도록 설정할 수 있습니다. 이 기능은 프로덕션 환경에 대한 개발자의 액세스를 제한하지 않으면서도 배포 절차를 더 높은 수준에서 제어해야 하는 전문 팀이 유용하게 활용할 수 있습니다.

여러분의 의견을 들려주세요! 배포와 관련된 기능을 요청하려는 경우 언제든 YouTrack 프로젝트를 통해 제안해 주세요.

더 스마트해진 VCS 통합

Space 병합 요청

JetBrains Space와 통합을 개선하기 위해 병합 요청을 추가로 지원합니다. 병합 요청 빌드 시 TeamCity는 Space의 각 병합 요청 타임라인에 상태를 게시합니다.

GitLab 이슈

GitLab 지원을 추가하여 이제 더 많은 이슈 트래커를 지원하게 되었습니다. 작동 방식은 평소와 같습니다. 커밋 메시지에 이슈 ID가 언급되면 TeamCity가 GitLab의 해당 이슈 링크를 자동으로 추가하여 관련 정보를 표시합니다.

대기 중인 빌드 보고

이전에는 TeamCity에서 실제로 빌드가 시작될 때까지 Commit Status Publisher(커밋 상태 게시자) 빌드 기능이 버전 관리 시스템으로 정보를 전송하지 않았습니다. 커밋이 이루어진 후 상당한 시간이 지난 후에도 전송하지 않는 경우도 있었습니다. 신규 버전부터 TeamCity는 각 빌드가 대기열에 추가된 직후 커밋 상태를 업데이트하여 최신 정보를 제공합니다. 이 기능은 GitHub, GitLab, Space, Bitbucket 및 Azure DevOps 등 지원되는 모든 VCS 서비스에서 작동합니다.

특정 리비전의 사용자 지정 빌드 실행

특정 리비전의 사용자 지정 빌드 실행

사용자 지정 빌드를 실행할 때 리비전을 정확하게 지정할 수 있습니다. 리비전이 빌드 구성을 통해 알려진 변경 목록에 포함되지 않는 경우에도 지정이 가능합니다. 이 기능을 활용하면 이전 빌드 복제, 이전 버전 배포, 새 빌드 구성 디버그 및 기타 여러 상황에서 더 유연하게 대응할 수 있습니다.

한층 효과적인 피처 브랜치 관리

한층 효과적인 피처 브랜치 관리

TeamCity에서 빌드 구성 시 동시에 실행되는 빌드 개수를 언제든 제한할 수 있습니다. 2022.04 버전을 사용하여 리소스 할당을 개선하고 브랜치 수준에서 개수 제한을 설정하세요. 예를 들어, 메인 브랜치의 빌드 개수는 필요한 만큼 빌드 에이전트를 사용할 수 있도록 무제한으로 설정하고, 피처 브랜치에서는 빌드 1개만 실행하도록 제한할 수 있습니다.

보안: 내부 및 외부

Log4J 및 Log4Shell

Log4Shell 취약점(CVE-2021-44228)이 TeamCity에 영향을 미친 것은 아니지만, 일부 보안 스캐너가 제품에 사용된 Log4J 프레임워크의 정확한 버전 번호를 확인하지 않은 채 취약점으로 잘못 보고한 바 있습니다. 스캐너의 거짓 양성 보고를 방지하기 위해 Log4J를 최신 버전으로 업그레이드했습니다.

Spring 및 Spring4Shell

Log4Shell과 유사하게 Spring4Shell 취약점(CVE-2022-22965)은 TeamCity에 영향을 미치지 않습니다. 그러나 보안 스캐너의 거짓 양성 보고를 방지하기 위해 TeamCity에서 사용되는 Spring 프레임워크를 최신 버전으로 업그레이드했습니다.

Sakura UI와 조화

새로운 Sakura UI는 기존 TeamCity UI와 동일한 기능을 제공하는 수준에 점점 가까워지고 있습니다. 버전 2022.04에서 Agent Pools(에이전트 풀)Changes(변경 내용) 페이지가 개편되어 Sakura UI의 전반적 성능이 대폭 향상되었습니다. 머지않아 TeamCity 2022.10 버전부터는 Sakura UI를 기본 옵션으로 선보일 예정입니다. 새로운 소식을 기대해 주세요!

이는 TeamCity 개선 사항 중 일부에 불과합니다. 업그레이드 관련 설명과 2022.04 버전의 모든 변경 목록은 TeamCity 문서에서 확인하세요.