TeamCity 2024.03 の新機能
半自動セキュリティアップデート
セキュリティ課題の防止と軽減に先手を打てるよう、TeamCity 2024.03 では重要なセキュリティアップデートを自動的にダウンロードするようになりました。 このアプローチにより、システムを新たなリスクから保護し、重大な脆弱性に迅速に対処することができます。 アップデートが自動的にダウンロードされた後も、システム管理者がそのインストールを承認する必要があることに注意してください。
新しいバンドルプラグイン: HashiCorp Vault
HashiCorp Vault サポートプラグインは、標準の TeamCity インストールに不可欠なコンポーネントになりました。 このプラグインでは、機密データをリモートソースに保存でき、ビルドプロセス中に TeamCity パラメーターがこれらの値をシームレスに取得することを有効化できます。

TeamCity と HashiCorp Vault の統合を設定するには、新しい Vault 接続を作成し、それを使用して リモートシークレット パラメーターを 更新された新しいパラメーターの追加ダイアログで設定します。
詳細: HashiCorp Vault 連携。
信頼されていないビルド
構成に プルリクエスト 機能を追加すると、新しいコードをプライマリコードベースに統合する前に評価できます。 この機能にはフィルタリングオプションが付属しており、すべてのコントリビューターからのビルドを実行するか、組織に所属するコントリビューターのみのビルドを実行するかを選択できます。 前者を選択すると、顕著なセキュリティリスクが生じ、プルリクエスト内に偽装された悪意のあるコードに TeamCity サーバーがさらされる可能性があります。 逆に、後者を選択すると、より幅広いユーザーとのコラボレーションの機会が制限されます。
バージョン 2024.03 では、コラボレーションとセキュリティのトレードオフを排除する新しい設定が導入されています。 プロジェクト設定の新しい 信頼されていないビルド グループにより、TeamCity は信頼できるユーザーが作成した変更と外部ソースからの変更を区別できます。 新しいビルドは変更の作成者に関係なくトリガーされますが、検証されていない変更を組み込んだビルドは、指定されたレビュー担当者 (またはレビュー担当者のグループ) が実行しても安全であるとマークするまでキューに残ります。

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

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

この手法により、 不安定なテストを特定し、起動試行回数に関係なく一貫して失敗する本当に問題のあるテストと区別できます。
詳細: .NET | Vstest コマンド。
Gradle 構成キャッシング
このバージョンから、TeamCity で実行される Gradle ビルドに対して 構成キャッシング 機能を有効化できます。 この機能は、構成フェーズの結果をキャッシュし、後続のビルドで再利用することで、ビルドパフォーマンスを大幅に向上させます。
詳細: 構成キャッシング。
オプションのアーティファクト依存関係
チェーンでデータを渡す を使用すると、ビルド構成で他の構成 (または同じ構成の以前のビルド) によって生成されたファイルをダウンロードできます。 これらの依存関係を作成するには、ダウンロードするファイルとその保存場所を定義する アーティファクトルール を指定する必要があります。
TeamCity がこれらのルールに一致するファイルを見つけられない場合、ビルドは "アーティファクト依存関係を解決できません" エラーで失敗します。 この動作は、ダウンロードされたアーティファクトが依存ビルドの実行に必須ではない、より柔軟な設定を考慮していません。
バージョン 2024.03 以降では、アーティファクトルールによってファイルが生成されない場合でも、依存ビルドを実行できます。 これを行うには、アーティファクトルールを ?: 接頭辞で開始します。

詳細: アーティファクトの依存関係
強化された Git LFS とサブモジュールのサポート
大規模ファイルシステム(英語)と サブモジュール(英語)は、スタンドアロンリポジトリをインポートし、大規模なファイル(動画、ビットマップ、データベースなど)を外部ホスティングにオフロードする多くの複雑なソフトウェアソリューションに不可欠な要素です。 バージョン 2024.03 では、TeamCity プロジェクトに パラメーターベース の資格情報を追加できます。 ソースファイルをチェックアウトする際、TeamCity はこれらの資格情報を使用して必要なファイルにアクセスし、ダウンロードします。 この機能により、TeamCity と Sonatype Nexus LFS リポジトリ) やその他の一般的なソリューションとの統合を設定できます。
詳細: LFS とサブモジュールのサポート。
新しいパラメーターダイアログ
バージョン 2024.03 では、 ビルドパラメーターを構成するときに使用する パラメーターの追加/編集 ダイアログが再設計されました。

その他の注目すべき機能強化に加えて、更新されたダイアログでは、新しいパラメーター型 リモートシークレット を選択できるようになりました。 値をリモートソース (HashiCorp Vault など) から取得する必要があるパラメーターの場合は、この型を選択します。
詳細: カスタムパラメーターの作成とセットアップ。
代替フェッチ URL
TeamCity 2024.03 では、ビルドエージェントは、元の Git リポジトリをミラーリングする事前構成済みのリポジトリプロキシからソースをフェッチできるようになりました。 この機能は、大規模な分散システムで特に役立ち、プライマリリポジトリから離れたエージェントの接続の問題を軽減します。
エージェント構成ファイルで定義されるフェッチ URL マッピングルールは、エージェントごとにチェックアウトプロセスをきめ細かく制御できます。 さらに、リダイレクトルールでのワイルドカードと部分 URL のサポートにより、プロジェクトに依存しないユニバーサルなマッピングパターンを作成できます。
詳細: Git VCS ルート | 一般設定。
その他の変更
ターミナルを開くボタンをクリックすると、 チェックアウトディレクトリでターミナルが開きます。 エージェントの概要ページから呼び出された場合、ターミナルは引き続き
$HOMEディレクトリで開きます。新しい コミットステータスパブリッシャー 設定では、ビルドの完了時に TeamCity が Swarm レビューコメント を投稿するかどうかを選択できます。 このオプションが無効になっている場合、ビルド機能はレビューの テスト セクションのみを更新します。
複合ビルドの パラメーター | 統計値 セクションに、 以前のビルドを新たに実行するではなく再利用することでこのビルドで節約された時間を表示する追加のメトリクスが含まれるようになりました。
アップグレードノート
アップグレードする前に、バージョン 2023.11 2023.05.4 との比較の重要な変更点について読むことを強くお勧めします。
修正済みの課題
実装された機能と修正された課題の概要については、 TeamCity 2023.11 リリースノート の記事を参照してください。
ロードマップ
今後の更新について詳しく見るには、 TeamCity ロードマップを参照してください。
フィードバックは重要です
皆様からのフィードバックを重視しており、ご意見やご提案を共有することをお勧めします。 詳細については、リンク フィードバックを参照してください。