TeamCity の新機能

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 がこれらのルールに基づいてファイルを見つけられなかった場合、「アーティファクトの依存関係を解決できません」というエラーが発生してビルドが失敗していました。

バージョン 2024.03 からは、アーティファクトの依存関係を定義するための、より適応性の高いアプローチを導入しています。次の場合に依存関係が無視されるように依存関係を構成できるようになりました。

  • ソースビルドはまったく存在しません (他の非オプションのルールがある場合を除く)。
  • ソースビルドに必要なファイルがありません。
  • アーティファクトルールはアーカイブに基づいていますが、アーカイブには必要なファイルが含まれていません。

この機能に関するフィードバックを提供したい場合は、この YouTrack チケット(英語)でお気軽にフィードバックしてください。

新機能の完全なリストについては、ドキュメントの新機能ページを参照してください。

信頼できないビルドグループを使用した外部プルリクエストの制御の強化

プルリクエスト機能を使用すると、コードをメインコードベースにマージする前にコードをレビューできます。ユーザーは、任意のコントリビューターからビルドを実行するか、組織内のコントリビューターからのみビルドを実行するかを選択できます。前者のオプションにはセキュリティリスクが伴い、TeamCity サーバーが有害なコードにさらされる可能性があります。一方、後者のオプションでは、より広範なコントリビューターとのコラボレーションが制限されます。

バージョン 2024.03 では、 信頼できないビルドグループと呼ばれるものを導入しました。これにより、TeamCity は、信頼できるユーザーによって作成された変更と外部ソースからの変更を区別できるようになります。

More control over external pull requests with the untrusted builds group

信頼できないビルドグループは現在、GitHub と GitLab をサポートしています。詳細については、ドキュメントを参照してください。

新しい dotCover ランナー

JetBrains dotCover は、 TeamCity の .NET 関連プロジェクトのコードカバレッジツールとして、これまでしばらくサポートされてきました。バージョン 2024.03 では、.NET サポートプラグインに新しいビルドランナーが追加され、dotCover ツールと統合されています。

新しい dotCover ランナーにより、ユーザーは次のことが可能になります。

  • dotCover プロファイリングで任意のプロセスを実行して、カバレッジスナップショットを作成します。
  • 他の .NET または dotCover ランナーによって生成されたビルドステップのスナップショットをマージします。
  • 並列テスト用にビルドチェーン全体で結合されたレポートを生成し、TeamCity カスタムレポートに変換します。

詳細についてはドキュメントを参照してください

TeamCity の .NET テスト再試行ポリシー

バージョン 2024.03 では、.NET ビルドランナーに新しい機能が追加されました。新しいオプションにより、ユーザーは失敗したテストに対するビルド全体の再試行ポリシーを設定できるようになります。

More control over external pull requests with the untrusted builds group

この機能は、テストの不安定性に対処し、統合テストの一時的なエラーを軽減できます。

詳細については、ドキュメントを参照してください。

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 サービスの操作が簡素化されます。

最新情報については、読み続けてください。

マトリックスビルドへようこそ

Matrix builds image

TeamCity のマトリックスビルドのおかげで、パラメーターと対応する値の組み合わせを定義して、ビルドのマトリックスを作成できます。パラメーター値の各組み合わせにより、固有のビルドが生成されます。マトリックスビルドは、並行して実行される複数のビルドで構成されます。

マトリックスビルドは、オペレーティングシステムやブラウザーのバージョンなど、さまざまな構成にわたってソフトウェアをテストする場合に特に役立ちます。

マトリックスビルドの詳細については、ドキュメントを参照してください。

Build Cache による削減、再利用、リサイクル

Reduce, reuse, recycle with Build Cache

CI/CD では、使い捨てのビルドエージェントを使用することが最善かつ最も安全な方法であると考えられています。しかし、ベストプラクティスには課題がつきものです。

使い捨てビルドエージェントでビルドを実行するたびに、ビルドを実行するために重いライブラリまたは複数のライブラリをインターネットからダウンロードする必要があります。これにより、ビルド時間が遅くなり、ビルドの開始が遅れます。

もうない !

ビルドキャッシュは、プロジェクトが依存するファイルをダウンロードし、プロジェクト内でそれらのファイルを再利用することで、CI/CD のビルド時間を最適化できます。

ビルドキャッシュの詳細については、ドキュメントを参照してください。

クラウドの中へ: EC2 および S3 プラグインのアップデート

Head in the clouds: EC2 and S3 plugin updates

2023.11 リリースでは、クラウドプロファイルとイメージを設定するアプローチを完全に再考しました。新しい UI はプロセスを案内し、関連する設定オプションを提案します。

EC2 Mac インスタンスの使用、スポット配置スコアによる AWS EC2 スポットインスタンスビルドエージェントの実行など、さまざまなメリットが得られるようになりました。

S3 プラグインには、Amazon S3 バケットと S3 互換ストレージの両方を念頭に設計された、直感的で合理化された新しい UI も追加されました。

詳細については、ドキュメントを参照してください。

TeamCity で Git 対応

TeamCity は、GitHubGitLabBitbucket (クラウドとデータセンターの両方)、Azure DevOps などの Git ホスティングプラットフォームとのシームレスな統合を提供します。

GitHub

2023.05 では、GitHub への新しいタイプの接続を導入しました。従来の OAuth ベースのリポジトリへのアクセスを利用する代わりに、GitHub アプリを使用できます。

バージョン 2023.11 以降では、これらの接続をより効率的に確立できるため、GitHub での新しいアプリの手動構成や登録が不要になります。

Git-ready with TeamCity

認証側では、 ステータス発行者のコミット プルリクエストビルド機能、および GitHub Issue Tracker 設定ページで、GitHub アプリ接続用の非個人的なリフレッシュ可能なアクセストークンを発行できるようになりました。

GitLab

バージョン 2023.11 以降では、GitLab の プルリクエストビルド機能でドラフトマージリクエストを無視するように TeamCity を構成できます。

GitLab

GitLab リポジトリをターゲットとする コミットステータスパブリッシャーおよび プルリクエストは、リフレッシュ可能な OAuth トークンを使用して認証を通過できるようになりました。

認証用のリフレッシュ可能なトークンのサポート

GitLab リポジトリをターゲットとする コミットステータスパブリッシャーおよび プルリクエストは、リフレッシュ可能なアプリケーショントークンを使用して認証を通過できるようになりました。

Azure DevOps

TeamCity は、Azure DevOps の ステータス発行者のコミットおよび プルリクエストビルド機能のリフレッシュ可能な OAuth トークンをサポートするようになりました。

詳細については、ドキュメントを参照してください。

Bitbucket クラウド

このリリースでは、いくつかの方法で Bitbucket 認証を強化しています。

アプリパスワードと VCS ルート認証情報の認証タイプに加えて、TeamCity は Bitbucket クラウドのプルリクエストビルド機能の認証方法としてリフレッシュ可能な永続的なアクセストークンもサポートします。

Bitbucket サーバー / データセンター

プルリクエスト機能は、リフレッシュ可能な OAuth トークンを使用して、Bitbucket サーバー / データセンター上のリポジトリにアクセスできるようになりました。

詳細については、ドキュメントを参照してください。

強化された Perforce Helix Swarm 統合

Enhanced Perforce Helix Swarm integration

既存の Swarm と TeamCity の統合も改善しました。この統合により、Swarm で TeamCity ビルドステータスを使用し、TeamCity UI から Swarm インターフェースに移動できるようになります。

バージョン 2023.11 以降では、 ステータス発行者のコミットビルド機能の TeamCity Perforce Helix Swarm パブリッシャーを、Swarm セットアップにすでに存在するカスタムワークフローと統合できます。さらに、 ステータス発行者のコミットでは、管理者アクセス権を持つユーザーの資格情報が必要なくなりました。

TeamCity で Swarm 管理レベルの資格情報を使用せずに統合をセットアップできるようになりました。更新された統合により、TeamCity チェックに基づくゲートをカスタムワークフローに含めることもできます。

詳細については、ドキュメントを参照してください。

お気に入りのエージェントプール

Improved support for draft pull requests in the Pull Requests build feature

特定のエージェントプールをお気に入りとしてマークし、統一された場所からアクセスできるようになりました。これは、担当するエージェントプールにアクセスする必要がある場合に便利です。

ターミナルの電力が解放される: エージェントターミナルからエージェントにシームレスにアクセス

Terminal power unleashed: Seamlessly access your agents via agent terminals

エージェントターミナル(英語)は、TeamCity UI から直接リモートターミナルを開いて、エージェントマシンに直接アクセスする便利で迅速な方法を提供する独自の TeamCity 機能です。Linux、Windows (PowerShell を使用)、および macOS でサポートされます。

バージョン 2023.11 以降では、エージェントターミナルを開くためにタブを切り替える必要はありません。エージェントターミナルは TeamCity UI の同じページで開きます。

TeamCity 2023.05: ダークテーマ、エージェントターミナルなど

TeamCity 2023.05 は、ダークテーマ、エージェントへのターミナルアクセスの改善、マルチノードセットアップの拡張機能など、待望のさまざまな機能を提供します。セキュリティをさらに強化するために、TeamCity は Let's Encrypt と統合され、カスタムグループに 2 要素認証を提供するようになりました。このリリースでは、GitHub アプリ接続や、実行中のビルドからカスタム Slack メッセージを直接送信する機能など、魅力的な新機能も導入されています。

ダークテーマを発見する

開発者には、日常のツールを快適に使用する権利があります。これが、TeamCity のヒストリーの中で最も支持された機能の 1 つであるダークテーマを開発した理由です。

ダークテーマは目の疲れを軽減し、視覚的な邪魔を排除できます。さらに、一部のユーザーはそれがより美しいと感じています。

TeamCity のダークテーマは、クラシック UI と Sakura UI の両方で使用できます。 ライトおよび ダークオプションに加えて、OS 設定に自動的に一致する システムテーマを選択することもできます。

エージェントターミナル

Agent terminal

TeamCity 2023.05 では、TeamCity UI から直接エージェントマシンへのリモートターミナルを開いて、エージェントログを簡単に表示したり、インストールされているソフトウェアを確認したり、特定のエージェントの問題をデバッグしたりできるようになりました。

リモートターミナルではエージェントに接続するための SSH キーを維持する必要がないため、この新機能はエージェントの問題のトラブルシューティングを行う場合に特に役立ちます。これは、Mac、Linux、Windows (PowerShell を使用) でサポートされます。

マルチノードセットアップの強化

Multi-node setup enhancements

このリリースでは、メインノードとセカンダリノードの間で負荷を効率的に分散する、改善されたリクエスト分散ロジックも実装しています。

TeamCity のスケーラビリティを強化するために、ノードは完全に交換可能になりました。TeamCity ネットワーク内のすべてのノードは、ユーザーリクエストのバランスをとることに貢献できるため、Web UI のユーザーによって生成されるワークロードをすべてのノードにわたってより均等に分散できます。

VCS ポーリング責任を複数のノードに割り当てる

2023.05 バージョンでは、TeamCity ユーザーは、VCS リポジトリのポーリング業務のために単一ノードに制約されなくなりました。最新のリリースでは、この機能を複数のノードにわたって委譲できるようになり、その結果、ワークロードがより均等に分散され、新しいコミットがより迅速に識別され、より迅速にビルドが開始されるようになります。

この機能改善を活用することで、ユーザーはビルド、テスト、デプロイプロセスを合理化し、全体的な効率を高め、遅延を削減し、生産性を向上させることができます。

セキュリティの強化

TeamCity では、堅牢なセキュリティを確保することが最優先事項です。データ侵害や潜在的なビジネス中断に対する製品の機能を強化するために、次の機能が組み込まれています。

Let ’ s Encrypt との統合

TeamCity には、Web サイトでの HTTPS を容易にする無料の自動デジタル証明書を提供する認証局である Let's Encrypt との統合が含まれるようになりました。Let's Encrypt に連絡すると、TeamCity は有効な証明書を自動的に取得してインストールでき、その後ユーザーの介入なしに更新されます。

二要素認証

以前のバージョンでは、必須の 2 要素認証モードを有効にすると、サーバー全体に影響がありました。ただし、この最新リリースでは、グローバルモードが オプションに設定されている場合でも、2FA の使用を必要とするカスタムユーザーグループを形成できるようになりました。

GitHub アプリ接続

GitHub App connection

TeamCity は、GitHub アプリとして GitHub と連携することを承認できるようになりました。これにより、別のサービスアカウントを確立したり、ユーザーの代理をしたりすることなく、さまざまなアクションを実行したり、GitHub API を利用したりできるようになります。

GitHub アプリ接続の最大の利点は、TeamCity がユーザーの資格情報を使用して GitHub にアクセスする必要がなくなったことです。代わりに、ユーザーの GitHub 組織 / アカウントへの GitHub アプリのインストールに対して付与される、非個人的な更新可能なトークンを使用します。これは、誰かが組織を辞めたり、アクセス権が変更されたりした場合に特に有益になります。

プルリクエストビルド機能におけるドラフトプルリクエストのサポートの改善

Improved support for draft pull requests in the Pull Requests build feature

GitHub ドラフトプルリクエストを無視するように プルリクエストビルド機能を構成する機能は、TeamCity 2022.12 で導入されました。

バージョン 2023.05 では、 プルリクエストビルド機能を利用するときに GitHub のドラフトプルリクエストを無視することもできます。機能設定内で 下書きを無視オプションを有効にすることを選択できます。これにより、TeamCity はステータスが変更されるまでドラフトプルリクエストを無視します。

カスタマイズ可能な通知

TeamCity ユーザーは、特定のイベントに対してメールと Slack 通知をすでに構成できます。バージョン 2023.05 ではこの機能がさらに強化され、サービスメッセージを使用して Slack メッセージやメール通知を送信できるようになります。

Customizable notifications

メッセージが間違った受信者に配信されるのを防ぎ、信頼できない外部リソースへのリンクを制限するために、これらのサービスメッセージには固有のセキュリティ対策が組み込まれています。

これが特に役立つシナリオの 1 つは、特定の条件が満たされたとき、またはビルドの進行中に迅速なレビューが必要なエラーを報告する進行中のデプロイなど、重大なイベントが発生したときに通知を送信することです。

Add and remove build tags via service messages

サービスメッセージ経由でビルドタグを追加および削除する

カスタム通知の送信に加えて、サービスメッセージを使用してビルドタグを追加および削除することもできます。

ビルドのタグ付けにより、ユーザーは特定の基準に従ってビルドを分類および整理できます。例: ビルドタグを利用してビルドの失敗の原因を示すことができるため、同様の失敗の理由を持つビルドを見つけやすくなります。

Podman のサポート

Podman support

2023.05 リリースでは、ユーザーが root 権限を必要とせずにコンテナーを管理できるコンテナーエンジンである Podman のサポートを導入します。Docker コマンドと完全な互換性があるため、エンジン間の切り替えが簡単になります。

新機能の完全なリストについては、ドキュメントの新着情報ページを参照してください。

通常どおり、皆様からのフィードバックをお待ちしております。サポートフォームよりお気軽にご依頼ください(英語)

TeamCity 2022.10

TeamCity 2022.10 にはデフォルトで有効になっている Sakura UI が付属しており、AWS 資格情報管理システムや AWS EC2 ベースのビルドエージェントへのすぐに使用できるターミナルアクセスなど、多くのクラウド関連機能を導入し、VCS 統合に重要な改善を追加します。サーバー管理者は、オンプレミスの TeamCity インストールに HTTPS を実装する新しい合理化された方法を気に入るはずです。また、Google アカウントを使用するための新しい認証モジュールと、長い間要求されていた多くの機能が実装されました。

Sakura UI: 細部まで完璧

Sakura/ さく . ʁ a/ (または桜) は、更新と楽観主義の時期を象徴しています。これは、TeamCity 2022.10 で Sakura UI をデフォルトにするときの私たちの気持ちを完全に表していると信じています。

Sakura UI はモダンで美しく、高速です。アクセシビリティを念頭に置いて構築されており、従来の UI と同等の機能を備えており、多くの新しい独自の機能も備えています。Sakura UI に 4 年以上取り組んできましたが、細部に至るまで完璧に仕上げました。IntelliJ IDEAKotlin(英語) などの巨人を含む、何千もの社内外のプロジェクトに対してテストするユニークな機会がありました。きっと気に入っていただけると思います。

一部のユーザーが古いユーザーインターフェースを使用している可能性があることを理解しており、限られた期間、ユーザーインターフェースを引き続き利用できるようにします。ただし、次のバージョンのいずれかで、Sakura UI を優先して廃止する予定です。何か見逃していると思われる場合は、YouTrack(英語) で課題を作成してください。

3、2、1、飛び出せ – クラウドへ !

TeamCity のインストールをクラウドに移行するますます。増えているため、クラウド機能を引き続き推進しています。

AWS クレデンシャルのより簡単で安全な管理

一時的な有効期間の短い AWS キーを発行し、ビルドのために安全な方法で公開する新しい AWS 認証情報管理システムを実装しました。

AWS EC2 ベースのビルドエージェントへのターミナルアクセス

すべての開発チームがデリバリーパイプラインを完全に可視化し、制御できるようにする必要があると考えています。クラウド CI/CD のデバッグエクスペリエンスを向上させるために、AWS EC2 ベースのビルドエージェントへの安全なターミナルセッションを TeamCity UI から直接開く機能を追加しました。クラウドプロバイダーの管理コンソールにアクセスしたり、多忙な DevOps チームに依頼したりする必要はありません。ネットワークアクセスリストと SSH キーペアを設定します。

この機能の可用性は、デフォルトでサーバー管理者に対してのみ有効になっている 「エージェントへの対話型セッションを開きます」権限によって制御されますが、必要に応じて他のユーザーに割り当てることができます。

クラウドエージェントメンテナンスモード

クラウドインスタンスで実行された CI/CD パイプラインの問題をデバッグする必要が生じたことがある場合は、それが難しいことをご存知でしょう。適切なビルドエージェントを特定して起動するのに時間と労力がかかるだけでなく、プロセスの途中で新しいビルドが起動されないようにする必要もあります。

ここでメンテナンスモードの出番です。このモードでは、TeamCity はビルドの完了後にクラウドエージェントを自動的に終了せず、新しいビルドを実行するために割り当てられないため、トラブルシューティングを行うことができます。

マルチサーバー設定でのクラウドインスタンスの管理

TeamCity 2022.10 から、TeamCity のセカンダリノードはクラウドインスタンスを開始および停止できるようになり、プライマリサーバーのメンテナンス中にクラウドベースの CI の中断のない操作が提供されます。

強化された VCS 統合

Perforce

TeamCity 2022.10 には、Perforce ツールとの統合に関連する 2 つの改善点があります。

  • Perforce シェルフトリガーは、シェルブされた変更リストがデフォルト以外のストリームに関連している場合を理解し、その上でビルドを実行できるようになりました。
  • TeamCity は、Perforce Helix Swarm にレビューがある変更リストを検出し、 ビルドの概要および 変更ページのそれぞれのレビューおよび変更ページへのリンクを追加するようになりました。

OAuth 接続でのリフレッシュトークンのサポート

TeamCity 2022.10 は、GitLab、Bitbucket Cloud、および Azure DevOps を操作するときに有効期間の短い OAuth トークンを使用するようになり、これらのサービスのアクセストークンを手動で生成しなくても VCS ルートを作成できるようになりました。

次のレベルのセキュリティ

Out-of-the-box HTTPS support

すぐに使える HTTPS サポート

今日、CI/CD パイプラインのセキュリティはこれまで以上に重要になっています。バージョン 2022.10 では、TeamCity サーバーで HTTPS を簡単に有効にできるようにしました。HTTPS 証明書または証明書チェーンを PEM 形式でアップロードするだけで、後は TeamCity が処理します。

制限付きアクセストークン

他のユーザーがあなたのアカウントで TeamCity にログインできるようにする一時的なアクセストークンを作成できるようになりました。これは、誰かにパイプラインのデバッグを手伝ってもらいたい場合や、デモを作成する場合に役立ちます。

Google アカウントでこんにちは

より多くのワークフローをサポートし、TeamCity のエクスペリエンスをよりスムーズにするために、Google アカウントを使用した認証をサポートするようになりました。Google でログインすると、TeamCity は即座に Google メールを既存の TeamCity ユーザーと照合し、パスワードを入力せずにログインします。また、新しいメンバーがチームに参加したときに、そのメールアドレスが指定したドメイン名のいずれかに属していれば、新しいプロファイルを自動的に作成することもできます。

ディスク領域のクリーンアップの改善

空きディスク容量ビルド機能は、アーティファクトのサイズを追跡し、アーティファクトの依存関係を解決するために必要なディスク容量を自動的に計算するようになりました。これにより、ビルド中にダウンロードされたアーティファクトのサイズを知る必要がなくなり、ビルドプロセス自体に必要なディスク容量を指定するだけで済むため、ビルド機能の使用がより簡単になります。

パーソナルビルドの推進

TeamCity 2022.10 から、個人のビルドを宣伝できます。昇格後にトリガーされたビルドも個人ビルドになります。

これらは TeamCity 2022.10 の最も重要なハイライトです。変更の完全なリストについては、TeamCity ドキュメントを参照してください。

TeamCity 2022.04

TeamCity 2022.04 は、プロジェクトのテスト時に並外れた速度向上を実現する新しい 並列テスト機能を導入しています。新しい強力なコード分析機能により、コードレビューに費やす時間が短縮され、プロジェクトの保守性が向上します。クラウドでビルドを実行するユーザーは、Amazon S3 および Amazon CloudFront との統合の改善と、クラウドプロファイルをプログラムで管理する新しいオプションを気に入るはずです。VCS 統合には多くの改善があり、新しい設定オプションがあり、ユーザーインターフェースには多くの優れたアップデートがあります。

並列テストによる比類のない速度

TeamCity は、テストを複数のビルドエージェントにインテリジェントに分散することでテストの実行を並列化できるようになり、全体的な期間を最小限に抑えることができます。他の CI/CD ソリューションとは異なり、この機能は最新の実行だけでなく、テストの履歴も考慮に入れます。これにより、並列化を損なったりパイプラインを停止したりすることを恐れずに、コードを自由にリファクタリングし、テストを中断し、プロジェクトに最適と思われることをすべて実行できます。

並列テストは、TeamCity の開発とテストの方法に驚異的な変化をもたらしました。私たち自身の統合テストは 10 倍以上速くなり、4 時間から約 20 分に短縮されました。

テスト実行の並列化は、さまざまな方法で実装できます。最も簡単な方法は、Maven、Gradle、.NET ビルドランナーを使用することです。これらのビルドランナーは、この機能をすぐにサポートします。他のビルドランナーおよびカスタムビルドスクリプトの場合、TeamCity は、テストを並列化するための最適な方法を特別な命令ファイルに保存し、並列テストを自分でセットアップできるようにします。

より良いコードのための組み込みのコード品質インスペクション

Built-in Code Quality Inspections for Better Code

TeamCity は、さまざまな方法でバグを排除し、ソフトウェアの品質を向上させるのに役立ちます。そしてもう 1 つあります。バージョン 2022.04 以降、高度なコード品質インスペクションを有効にし、その他のさまざまな新しいアクションを実行できます。これらはすべて JetBrains Qodana を利用しています。

  • 静的分析チェックを実行します。
  • コード内の重複を見つけます。
  • コードの品質が時間の経過とともにどのように変化するかなどを追跡します。

ビルドパイプラインにコードインスペクションを追加すると、コードレビューに費やす時間を削減し、プロジェクトの保守性を確保し、チームのすべての開発者がより効率的に作業できるようになります。ライブデモ(英語)を参照してください。

クラウド統合を新たな高みへ

世界は急速にクラウドに移行しており、それに続く増えています。TeamCity 2022.04 は、Amazon Web サービスとの統合を強化し、新しい構成オプションを追加することで、クラウドエクスペリエンスをさらに一歩進めます。

ビルドアーティファクトを Amazon S3 に移行する

TeamCity は、常に Amazon EC2 および Amazon S3 と強力に統合されているため、プロジェクトのサイズや複雑さに関係なく、ビルドインフラストラクチャを自由に拡張できます。バージョン 2022.04 を使用すると、新しいビルドアーティファクトを Amazon S3 に保存できるだけでなく、既存のアーティファクトを TeamCity のローカルストレージから Amazon S3 に移動することもできます。これは、セルフホストセットアップからクラウドプラットフォームへの移行を開始したばかりで、最初から最大限に活用したいチームにとって特に便利です。

Downloading build artifacts from Amazon CloudFront

Amazon CloudFront からビルドアーティファクトをダウンロードする

Amazon S3 に保存されているビルドアーティファクトの操作は、S3 バケットが配置されている領域との地理的な距離によっては、時間がかかり、費用がかかる場合があります。コストを削減するために、TeamCity 2022.04 は Amazon CloudFront のネイティブサポートを追加します。これにより、AWS が提供する最も近いエッジロケーションにキャッシュされたアーティファクトを処理できます。これは、ビルドエージェント、Web ユーザー、API リクエストなどを含むすべてのレベルで機能し、開発プロセスの速度を大幅に向上させる可能性があります。

プロジェクトレベルで自動スケーリングを管理するその他の方法

CI/CD 構成をプロジェクトのコードベースに保存することは、CI/CD 構成を常に構築、テスト、デプロイできるようにするための最良の方法です。クラウドでソフトウェアを構築する際の柔軟性を高めるために、TeamCity 2022.04 は Kotlin DSL を拡張し、すべてのプロジェクトに独自のクラウドプロファイル構成を持たせる機会を提供します。

デプロイワークフローの強化

ロードマップで以前に発表したように、デプロイの領域の調査を開始しており、この方向への最初のステップとして、 ビルドの承認をリリースしています。これで、トリガーされた直後には開始されないが、承認チームの全員が青信号を出すまでキューに入れられたままになるビルド構成を作成できます。この機能は、開発者が本番環境にアクセスする機能を制限したくないが、同時にデプロイ手順をより高度に制御する必要がある上級チームに特に役立ちます。

声は大歓迎です ! デプロイに関連する機能のリクエストがある場合は、遠慮なく YouTrack プロジェクト(英語)で提案してください。

よりスマートな VCS 統合

スペースマージリクエスト

マージリクエストのサポートを追加するなど、JetBrains Space との統合の改善を続けています。MR を構築するときに、TeamCity はスペース内のそれぞれのマージリクエストタイムラインにステータスを公開するようになりました。

GitLab の問題

GitLab を追加することで、サポートされている課題追跡システムのリストを充実させました。これは期待どおりに機能します。コミットメッセージに問題 ID が記載されている場合、TeamCity は GitLab のそれぞれの問題へのリンクを自動的に追加し、それに関する情報を表示します。

キューに入れられたビルドのレポート

以前は、 ステータス発行者のコミットビルド機能は、TeamCity が実際にビルドを開始するまで、バージョン管理システムに情報を送信しませんでした。これは、コミットが行われてからかなり経ってから発生する傾向がありました。新しいバージョン以降、TeamCity は、それぞれのビルドをキューに追加した直後にコミットステータスを更新し、最新の情報を提供します。この機能は、GitHub、GitLab、Space、Bitbucket、Azure DevOps を含むサポートされているすべての VCS サービスで機能します。

Running a custom build with a specific revision

特定のリビジョンでカスタムビルドを実行する

カスタムビルドを実行するときに、ビルド構成で認識されている変更のリストに必ずしも属していない可能性のある正確なリビジョンを指定できるようになりました。これにより、履歴ビルドの再現、古いバージョンのデプロイ、新しいビルド構成のデバッグ、その他の多くの状況で、より多くの柔軟性が得られます。

機能ブランチのより詳細な制御

More Control over Feature Branches

TeamCity では、ビルド構成で同時に実行されるビルドの数を常に制限できます。バージョン 2022.04 を使用すると、リソース割り当てを改善し、ブランチレベルでこの制限を設定できます。例: メインのブランチには無制限の数のビルドがあり、機能ブランチを一度に 1 つのビルドのみを実行するように制限しながら、必要な数のビルドエージェントを占有できます。

セキュリティ: 内外

Log4J および Log4Shell

TeamCity は Log4Shell の脆弱性(CVE-2021-44228)の影響を受けていませんが、一部のセキュリティスキャナーは、製品で使用されている Log4J フレームワークの正確なバージョン番号を確認せずに脆弱性として誤って報告しました。誤検知のスキャナーレポートを回避するために、Log4J を最新バージョンにアップグレードしました。

Spring および Spring4Shell

Log4Shell と同様に、Spring4Shell の脆弱性(CVE-2022-22965)は TeamCity に影響を与えません。ただし、セキュリティスキャナーからの誤検知レポートを回避するために、TeamCity で使用されている Spring フレームワークを最新バージョンにアップグレードしました。

Sakura UI との調和

新しい Sakura UI は、従来の TeamCity UI と同等の機能にますます。近づいています。バージョン 2022.04 では、 エージェントプールページと 変更ページを再実装し、新しい UI の全体的なパフォーマンスを大幅に改善しました。これで、デフォルトのオプションにすることからほんの数歩のところにあります。これは、TeamCity 2022.10 で行う予定です。乞うご期待 !

これらは、TeamCity を改善した方法のほんの一部です。アップグレード手順およびバージョン 2022.04 での変更の完全なリストについては、TeamCity のドキュメントを参照してください。