TeamaCity 2023.11: マトリックスビルド、ビルドキャッシュなど

TeamCity 2023.11 にはマトリックスビルドやビルドキャッシュなど、ビルドの構成をより簡単にすることが大いに期待される機能が多数備わっています。

GitHub、GitLab、Bitbucket、Azure DevOps などの Git ホスティングプラットフォームとの統合が強化され、認証をより容易にするオプションが搭載されました。

EC2 および S3 プラグインの UI を全面的に作り直すことで、Amazon サービスと簡単に連携できるようにしました。

新機能の詳細は以下をお読みください。

マトリックスビルドの紹介

マトリックスビルドの画像

TeamCity のマトリックスビルドを利用することで、ビルドのマトリックスを作成するためのパラメーターと対応する値の組み合わせを定義できます。 個々のパラメーター値を組み合わせて固有のビルドを生成した後、 並列実行する複数のビルドでマトリックスビルドが構成されます。

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

マトリックスビルドの詳細は、ドキュメントをご覧ください。

ビルドキャッシュで短縮、再利用、リサイクル

ビルドキャッシュで短縮、再利用、リサイクル

CI/CD では使い捨てのビルドエージェントを使用するのがベストプラクティスであり、最も安全な手法とみなされています。 ただし、このベストプラクティスには問題がないわけではありません。

使い捨てのビルドエージェントでビルドを実行する際は、毎回大きなライブラリまたは複数のライブラリをインターネットからダウンロードしてビルドを実行する必要があります。 これはビルド時間が長くなり、ビルドの開始に遅延が発生する原因となります。

もうこの問題は起きません!

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

ビルドキャッシュの詳細は、ドキュメントをご覧ください。

クラウドを考慮: EC2 および S3 プラグインの更新

クラウドを考慮: EC2 および S3 プラグインの更新

2023.11 リリースでは、クラウドのプロファイルとイメージを設定する手法を全面的に再考しました。 新しい UI では、関連する設定オプションを提案しながらプロセスを進められるようにしています。

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

S3 プラグインにも Amazon S3 バケットと S3 対応ストレージの両方を考慮して設計された新しい直感的で合理化された UI が実装されました。

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

TeamCity による Git 対応

TeamCity は GitHubGitLabBitbucket(Cloud および Data Center)、Azure DevOps などの Git ホスティングプラットフォームとのシームレスな統合を提供しています。

GitHub

2023.05 では、新しい種類の GitHub 接続が導入されました。 従来の OAuth ベースのリポジトリアクセスを使用する代わりに、GitHub App を使用できます。

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

TeamCity による Git 対応

認証に関しては、Commit Status PublisherPull Requests(プルリクエスト)ビルド機能、GitHub 課題トラッカーの設定ページで GitHub App 接続用の個人を特定しないリフレッシュ可能なアクセストークンも発行できるようになりました。

GitLab

バージョン 2023.11 からは GitLab の Pull Requests(プルリクエスト)ビルド機能で下書きのマージリクエストを無視するように TeamCity を構成できるようになりました。

GitLab

GitLab リポジトリをターゲットとする Commit Status PublisherPull Request(プルリクエスト)は、リフレッシュ可能な OAuth トークンを使用して認証を通過できるようになっています。

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

GitLab リポジトリをターゲットとする Commit Status PublisherPull Request(プルリクエスト)は、リフレッシュ可能なアプリケーショントークンを使用して認証を通過できるようになっています。

Azure DevOps

TeamCity が Azure DevOps の Commit Status PublisherPull Request(プルリクエスト)ビルド機能において、リフレッシュ可能な OAuth トークンをサポートするようになりました。

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

Bitbucket Cloud

このリリースでは、Bitbucket 認証をさまざまな方法で強化しています。

TeamCity は Bitbucket Cloud の Pull Request(プルリクエスト)ビルド機能の認証方式として、アプリパスワードと VCS Root 資格情報による認証だけでなく、リフレッシュ可能で永続的なアクセストークンもサポートしています。

Bitbucket Server / Data Center

Pull Request(プルリクエスト)機能では、Bitbucket Server / Data Center のリポジトリにアクセスする際にリフレッシュ可能な OAuth トークンを使用できるようになりました。

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

Perforce Helix Swarm 統合の強化

Perforce Helix Swarm 統合の強化

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

バージョン 2023.11 より、Commit Status Publisher ビルド機能の TeamCity Perforce Helix Swarm パブリッシャーを Swarm 環境にある既存のカスタムワークフローと統合できるようになりました。 また、Commit Status Publisher で管理者アクセス付きのユーザーの資格情報が不要になりました。

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

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

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

プルリクエストビルド機能の下書きプルリクエストのサポートを改善

特定のエージェントプールをお気に入りに指定し、単一の場所からそのプールにアクセスできるようになりました。 自分が担当しているエージェントプールにアクセスする必要がある場合に便利です。

ターミナルの力を解放: エージェントターミナルによるエージェントへのシームレスなアクセス

ターミナルの力を解放: エージェントターミナルによるエージェントへのシームレスなアクセス

エージェントターミナルは、TeamCity UI からリモートターミナルを直接開いて素早く簡単にエージェントマシンに直接アクセスできる TeamCity 固有の機能です。 Linux、Windows(PowerShell を使用)、macOS でサポートされています。

バージョン 2023.11 からはタブを切り替えてエージェントターミナルを開く必要がなくなりました。エージェントターミナルは TeamCity UI の同じページで開くようになっています。