TeamCity 2024.03: HashiCorm 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 Support プラグインに追加しました。

新しい dotCover ランナーでは以下を実行できます。

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

詳細は、ドキュメントをご覧ください。

TeamCity における .NET テストの再試行ポリシー

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

信頼できないビルドグループで外部プルリクエストをより細かく制御

この機能はテストの不安定さを解消し、統合テストの一時的な失敗を減らすのに役立ちます。

詳細は、ドキュメントをご覧ください。

Gradle ランナーの構成キャッシュサポート

Gradle の構成キャッシュオプションを使用すると、構成フェーズの結果をキャッシュして後続のビルドで再利用できるため、ビルドのパフォーマンスが大幅に向上します。 バージョン 2024.03 より前のバージョンで提供されていた TeamCity の Gradle ビルドランナーでは、この機能はサポートされていませんでした。

このリリースでは、この機能を TeamCity に導入することで Gradle ビルドの効率とパフォーマンスを改善しています。 TeamCity の設定で構成キャッシュオプションを有効にする方法は、ドキュメントをご覧ください。