TeamCity オンプレミス 2024.03 ヘルプ

TeamCity 2024.03 の新機能

半自動セキュリティアップデート

セキュリティ問題の予防と軽減を常に最優先に行うために、TeamCity 2024.03 では重要なセキュリティアップデートを自動的にダウンロードするようになりました。このアプローチにより、システムを新たなリスクから保護し、重大な脆弱性に迅速に対処することができます。アップデートが自動的にダウンロードされた後も、システム管理者がそのインストールを承認する必要があることに注意してください。

詳細: TeamCity サーバーとエージェントのアップグレード

新しいバンドルプラグイン: HashiCorp Vault

HashiCorp Vault サポート(英語)プラグインは、標準の TeamCity インストールの不可欠なコンポーネントになりました。このプラグインを使用すると、リモートソースに機密データを保存し、ビルドプロセス中に TeamCity パラメーターでこれらの値をシームレスに取得できるようになります。

Vault connection settings

HashiCorp Vault との TeamCity 統合を設定するには、新しい Vault 接続を作成し、それを使用して更新された新しいパラメーターの追加ダイアログリモートシークレットパラメーターを設定します。

詳細: HashiCorp ボールトの統合

信頼できないビルド

構成にプルリクエスト機能を追加すると、新しいコードをプライマリコードベースに統合する前に評価できます。この機能にはフィルタリングオプションが付属しており、すべてのコントリビューターからのビルドを実行するか、組織に所属するコントリビューターのみのビルドを実行するかを選択できます。前者を選択すると、TeamCity サーバーがプルリクエスト内に隠された悪意のあるコードにさらされる可能性があり、セキュリティ上の大きなリスクが生じます。逆に、後者を選択すると、より幅広いユーザーとのコラボレーションの機会が制限されます。

バージョン 2024.03 では、コラボレーションとセキュリティのトレードオフを排除する新しい設定が導入されています。プロジェクト設定の新しい信頼できないビルドグループにより、TeamCity は信頼できるユーザーが作成した変更と外部ソースからの変更を区別できます。新しいビルドは変更の作成者に関係なくトリガーされますが、検証されていない変更を組み込んだビルドは、指定されたレビュー担当者 (またはレビュー担当者のグループ) が実行しても安全であるとマークするまでキューに残ります。

Pending approval

詳細: 信頼できないビルド

新しい dotCover ランナー

新しい dotCover ランナーは、複数の先行する .NET ステップからコードカバレッジスナップショットを自動的に取得し、これらの個々のスナップショットを使用して単一のカバレッジレポートを公開できます。

DotCover Runner Settings

詳細については、dotCover を参照してください。

失敗した .NET テストの自動再試行

.NET ランナーが test または vstest コマンドを実行すると、ランナーの設定に新しいテスト再試行回数オプションが表示されます。このフィールドでは、同じビルド中に TeamCity が失敗したテストを再実行できる回数を指定できます。失敗したテストは、成功するか、最大試行回数に達するまで再起動されます。

Flaky tests during a re-run

この手法により、不安定なテストを識別し、起動試行回数に関係なく常に失敗する本当に問題のあるテストと区別することができます。

詳細: .NET | Vstest コマンド

Gradle 構成キャッシュ

このバージョンから、TeamCity で実行される Gradle ビルドの構成キャッシュ(英語)機能を有効にできるようになりました。この機能は、構成フェーズの結果をキャッシュし、後続のビルドで再利用することで、ビルドパフォーマンスを大幅に向上させます。

詳細: 構成キャッシュ

オプションのアーティファクト依存関係

アーティファクトの依存関係を使用すると、ビルド構成で他の構成 (または同じ構成の以前のビルド) によって生成されたファイルをダウンロードできます。これらの依存関係を作成するには、ダウンロードするファイルとその保存場所を定義するアーティファクトルールを指定する必要があります。

TeamCity がこれらのルールに一致するファイルを見つけられない場合、ビルドは「アーティファクトの依存関係を解決できません」というエラーで失敗します。この動作は、ダウンロードされたアーティファクトが依存ビルドの実行に必須ではない、より柔軟な設定を考慮していません。

バージョン 2024.03 以降では、アーティファクトルールによってファイルが生成されない場合でも、依存ビルドを実行できます。これを行うには、アーティファクトルールを ?: プレフィックスで開始します。

Optional dependency warning

詳細: アーティファクトの依存関係

強化された Git LFS およびサブモジュールのサポート

大規模ファイルシステム(英語)サブモジュール(英語)は、スタンドアロンリポジトリをインポートし、大量のファイル (ビデオ、ビットマップ、データベースなど) を外部ホスティングにオフロードする、多くの複雑なソフトウェアソリューションの不可欠な部分です。バージョン 2024.03 では、パラメーターベースの資格情報を TeamCity プロジェクトに追加できます。ソースファイルをチェックアウトするときに、TeamCity はこれらの資格情報を使用して必要なファイルにアクセスし、ダウンロードします。この機能により、TeamCity を Sonatype Nexus LFS リポジトリ(英語)やその他の一般的なソリューションと統合できます。

詳細: LFS とサブモジュールのサポート

パラメーターの新規作成ダイアログ

バージョン 2024.03 では、ビルドパラメーターを構成するときに使用するパラメーターの追加 / 編集ダイアログが再設計されました。

Single select parameter settings

その他の注目すべき機能強化に加えて、更新されたダイアログでは、新しいパラメーター型リモートシークレットを選択できるようになりました。値をリモートソース (HashiCorp Vault など) から取得する必要があるパラメーターの場合は、この型を選択します。

詳細: カスタムパラメーターの作成と設定

代替フェッチ URL

TeamCity 2024.03 では、ビルドエージェントは、元の Git リポジトリをミラーリングする事前構成済みのリポジトリプロキシからソースを取得できるようになりました。この機能は、大規模な分散システムで特に役立ち、プライマリリポジトリから離れたエージェントの接続の問題を軽減します。

エージェント構成ファイルで定義されるフェッチ URL マッピングルールは、エージェントごとにチェックアウトプロセスをきめ細かく制御できます。さらに、リダイレクトルールでのワイルドカードと部分 URL のサポートにより、プロジェクトに依存しないユニバーサルなマッピングパターンを作成できます。

詳細: Git VCS ルート | 一般設定

その他の変更点

アップグレードノート

アップグレードする前に、バージョン 2024.03 2023.11 との比較の重要な変更点について読むことを強くお勧めします。

解決された問題

実装された機能と修正された問題の概要については、TeamCity 2024.03 リリースノートの記事を参照してください。

ロードマップ

将来のアップデートについては、TeamCity ロードマップを参照してください。

フィードバックは重要です

皆様からのフィードバックを重視しており、ご意見やご提案を共有することをお勧めします。詳細については、リンクフィードバックを参照してください。

関連ページ:

TeamCity サーバーとエージェントのアップグレード

TeamCity は、以前のバージョンからそれ以降のバージョンへのアップグレードをサポートしています。アップグレードノートに記載がない限り、すべての設定とデータは保持されます。少なくともいくつかのバグ修正アップデートがリリースされた後、最新の TeamCity バージョンを実行するための定期的なアップグレードを計画することをお勧めします。このようにして、最新の修正とセキュリティパッチを適用した完全にサポートされたバージョンを実行します。セキュリティパッチ:TeamCity は、サーバー、ビルド...

HashiCorp ボールトの統合

HashiCorp Vault は、トークン、パスワード、証明書、暗号化キーを安全に保管するためのストレージです。TeamCity パラメーターとトークン内に機密情報を保存する代わりに、機密情報を Vault に保持し、Vault エンジン (KV/KV2、AWS、Google Cloud など) からこのデータに安全にアクセスできるように TeamCity を設定できます。共通情報:HashiCorp Vault との統合を設定するには、次のものが必要です。必要なプロジェクトの HashiCor...

プルリクエスト

プルリクエストビルド機能は、GitHub、Bitbucket サーバー、Bitbucket クラウド、GitLab、Azure DevOps、JetBrains Space リポジトリの pull (マージ) リクエストとの TeamCity 統合を強化します。共通情報:ビルド構成にプルリクエスト機能を追加すると、次のことが可能になります。ビルド構成の概要ページで、プルリクエストブランチと保留中の変更を表示します。ビルド結果ページの概要タブでプルリクエストの詳細を表示します。ドラフトプルリクエス...

信頼できないビルド

信頼できないビルドセクションでは、外部ユーザーが作成した悪意のあるコードが TeamCity で実行されるのを防ぐことを目的とした変更検証プロセスを設定できます。共通情報:VCS ルートが、外部ユーザーがプルリクエストを介して変更をコミットできる設定になっているパブリックリポジトリをターゲットにしている場合、新しい変更が検出されると VCS トリガーが自動的に新しいビルドを開始し、次のいずれかが当てはまる場合、TeamCity は悪意のあるコードを実行できます。プルリクエスト機能が有効になってお...

.NET

TeamCity には、.NET ビルドステップ、ビルドエージェントでの .NET 検出、リポジトリ内のビルドステップの自動検出を提供する .NET ツールチェーンの組み込みサポートが付属しています。このページでは、.NET ランナーの構成について詳しく説明します。チュートリアルとデモについては、このブログ投稿シリーズを参照してください。要件:.NET ランナーを使用するには、ビルドエージェントマシンに次のソフトウェアをインストールする必要があります。.NET CLI コマンド (クロスプラットフ...

dotCover

dotCover ランナーは、JetBrains dotCover を使用して .NET プロセスのカバレッジレポートを生成します。生成されたレポートは、ビルド結果ページのコードカバレッジタブに公開されます。このランナーは、複数の先行する .NET ステップの後に配置して、個々のコードカバレッジをマージし、統合レポートを公開することもできます。dotCover ステップ設定:このセクションでは、ランナー設定の使用方法について説明します。現在のタスクに応じてこれらの設定を組み合わせる方法の例については、...