TeamCity 2024.12 の新機能
Pipelines 統合の発表と主な UI 変更
更新後の 2024.12 TeamCity サーバーが起動して数秒後に最初に目に入る大きな変更は、再設計された UI です。 上部のナビゲーションバーを洗練されたサイドメニューに置き換え、パンくずリストを改善し、プロジェクトと構成のアイコンをリフレッシュし、その他の視覚的な強化を導入して、よりクリーンで機能的なエクスペリエンスを実現しました。

これらの変更はそれ自体でも重要ですが、単なる視覚的な刷新にとどまらず、今後予定されている別の大きな変更、つまり TeamCity と TeamCity Pipelines の統合の基盤となります。
現在、TeamCity は複雑なワークフロー向けの堅牢な CI/CD に重点を置いている一方、 TeamCity Pipelinesは、使いやすさと直感的な UI を重視する小規模チームに適したユーザーフレンドリーなオプションです。 しかし、この分離により明らかな課題が生じています: TeamCity ユーザーの中には Pipelines のシンプルさを求める人がいる一方、Pipelines ユーザーは現在 TeamCity でのみ利用できる高度な機能がないと感じることがあります。
これら 2 つの製品を統合することで、このフラストレーションを解消し、統一されたエクスペリエンスを提供することを目指しています。 TeamCity ユーザーは、クイックセットアップ向けに効率化された Pipeline を作成するか、高度なシナリオや複雑なビルドチェーン向けに完全にカスタマイズ可能なビルド構成を作成するかを選択でき、各ユーザーに適した柔軟性を確保できます。
TeamCity Pipelines を今すぐ試し、フィードバックを共有することをおすすめします。 この移行を可能な限りスムーズかつユーザー中心に進めるために、皆様のご意見は非常に貴重です。
詳細: TeamCity Pipelines を試す | Pipelines Pulse | Pipelines ドキュメント
ビルドを Kubernetes にオフロードする
従来の TeamCity パラダイムでは、ビルドを処理するビルドエージェントを設定、保守、管理する必要があります。 これは、クラウドホストエージェントとローカルエージェントの両方に適用されます。
バージョン 2024.12 以降、別の方法を選べるようになります: ビルドタスクを K8s クラスターにオフロードします。 新しい統合を設定し、すぐにビルドを開始してください: K8s executor は、ビルドパラメーターと必要なコンテナーに基づいて pod 定義を生成し、K8s クラスターに送信します。 その結果、クラスターはビルドと "エージェント" のライフサイクルを管理するオーケストレーターとして機能します。

部分チェーン実行
バージョン 2024.12 では、アップストリームビルドのタグと ID を受け入れる 2 つの構成パラメーターが導入されています。 これにより、ビルドチェーンの一部を実行できるようになります。

これらのパラメーターは、構成の永続的な一部となることも、特定のサブチェーンを実行する必要がある場合に カスタムビルドを実行するダイアログを介して随時追加することもできます。
さらに、ビルドステップから送信して、すでにキューに入れられているダウンストリーム構成のビルドをキャンセルできる キューに入っているビルドをスキップ サービスメッセージを実装しました。
詳細: 部分的なチェーン実行
一元化された更新可能トークン管理
最近のリリースでは、幅広い OAuth 接続でリフレッシュ可能なアクセストークンのサポートを導入しました。 これらの有効期間の短いトークンにより、VCS ルート、課題追跡、Commit Status Publisher などのビルド機能が VCS ホスティングプロバイダーで認証できるようになります。 リフレッシュ可能なトークンは静的トークンやユーザー名 / パスワード認証情報に代わる安全な手段ですが、これらのトークンを使用するすべてのエンティティを追跡するのは難しい場合があります。
トークン管理を簡素化するために、プロジェクト設定に VCS 認証トークン ページを作成しました。 ここでは、プロジェクトのリフレッシュ可能なトークンを表示、作成、取り消すことができます。

さらに、古い 取得/新規取得 ボタンを再設計されたコントロールに置き換えました。 これらの更新されたコントロールを使用すると、 VCS 認証トークン ページから既存のトークン ID をコピーしたり、その場で新しいトークンを生成したりできます。

プルリクエストフィルター
バージョン 2024.12 以降、TeamCity ブランチフィルター は +|-プルリクエスト: 構文をサポートします。 この構文を使用すると、ユーザーロール、ターゲットとソースブランチなど、さまざまなパラメーターでプルリクエストを追跡するきめ細かいフィルター式を作成できます。
新しい構文は現在トリガーでのみ使用できます。 トリガー設定を設定するときは、 ブランチフィルター フィールドの横にある魔法の杖をクリックして、式エディターを呼び出します。

詳細: プルリクエストブランチフィルター
Perforce 統合の強化
Perforce VCS ルート がラベルでソースをチェックアウトするように構成されている場合 (同期するラベル / 変更リスト 設定)、TeamCity はリビジョン番号を新しい
VCS ルート.{externalId}.変更リストパラメーターに記録するようになりました。 この利便性の向上により、同期されたリビジョンを明確に識別できるようになりました。新しい Perforce 固有のサービスメッセージが追加されました。 このメッセージにより、個人の変更を手動でロールバックできます。
通常の
ビルドキューREST API エンドポイントを使用して、 Perforce の保留変更リストを作成できるようになりました。 以前は、この機能は専用の/アプリ/perforce/runBuildForShelveエンドポイント経由でのみ利用可能でした。
複数のビルドを一度に承認する
TeamCity では、特定のビルドを開始する前に、指定されたユーザーからの明示的な許可の要求を有効化できます。 承認は次の 2 つの場合に必要です。
ビルド構成に、誤って実行されるのを防ぐための ビルド承認 機能がある場合。
信頼されていないビルド が有効になっている場合、ビルドが開始される前に、検証されていないプルリクエストの変更が確実にレビューされます。
以前は、両方のオプションで、チェーン内の各ビルドを個別に承認する必要がありました。 バージョン 2024.12 以降では、 承認 をクリックすると、チェーン内のすべてのビルドに対する権限が一度に付与されるようになりました。

詳細: ビルド承認 | 信頼されていないビルド
カスタム Kotlin ライブラリをアップロードする
このバージョン以降、カスタム Kotlin ライブラリを .jar として TeamCity サーバーにアップロードできます。

プロジェクトの .kts ファイルでこれらのライブラリの使用を開始するには、必要な pom.xml に Maven 依存関係を追加します。
コンテナー内で Meta-Runner を実行する
このバージョンから、 meta-runners は コンテナー関連の設定を提供します。 これらの設定は個々のステップに伝播されるため、すべての個々のステップが必要な Docker/Podman イメージ内で実行できるようになります。

ステップに独自のコンテナー設定がある場合、それらはグローバルメタランナー構成をオーバーライドします。
詳細: コンテナーでレシピを起動する
AWS 統合の強化
AWS クラウドプロファイル
Amazon EC2 クラウドプロファイルはアクセス鍵やデフォルトの資格情報プロバイダーチェーンを使用しなくなり、 TeamCity AWS 接続を介した認証に移行します。 この変更により、すべての認証設定が単一の接続に統合され、複数の機能 (クラウドプロファイル、 S3 アーティファクトストレージ、 AWS 資格情報 ビルド機能など) で共有できるようになります。
既存の接続では従来の認証が保持されますが、接続ベースのアクセスに移行することをお勧めします。 新しい EC2 クラウドプロファイルでは、新しい認証方法のみがサポートされます。
AWS エージェントのパフォーマンス
AWS EC2 でホストされるビルドエージェントのロジックを再構築した結果、パフォーマンスが大幅に向上しました。 詳細については、こちらのブログ投稿を参照してください: TeamCity AWS エージェントのパフォーマンスの向上。
パフォーマンスの強化
このリリースでは、ビルドリストとプロジェクトツリーを取得するための内部ロジックを全面的に見直しました。 フロントエンドの最適化と組み合わせることで、このアップグレードにより、特に広範なプロジェクト設定を持つ大規模な TeamCity インスタンスを管理しているユーザーにとって、 ウェブバイタルが大幅に改善されます。
その他の変更
TeamCity サーバーとエージェントの両方が Java 21 をサポートするようになりました。
EC2 ホストエージェントは、このエージェントがスポット EC2 インスタンスを使用しているか、オンデマンド EC2 インスタンスを使用しているかを識別できる
system.ec2.instance-life-cycleパラメーターを 報告するようになりました。アーティファクト移行ツール は、Microsoft および Azure ストレージ間の移行をサポートするようになりました。 このツールを使用すると、ビルドアーティファクトをあるストレージから別のストレージに簡単に転送できます。 Azure ストレージを設定するには、バンドルされていないプラグイン Azure Artifact ストレージ(英語)をインストールする必要があります。
サーバーの起動中に
teamcity-サーバー.ログに書き込まれるすべてのメッセージが、 teamcity-startup.log に複製されるようになりました。 このログにより、主要なブートイベントが別のファイルに記録され、サーバーの起動に関する問題のトラブルシューティングに役立ちます。HashiCorp Vault 接続 では、TeamCity が Vault シークレットを取得できない場合にビルドの続行を許可する設定が提供されなくなりました。 バージョン 2024.12 以降では、このようなビルドは失敗します。
TeamCity プロキシ設定は、 ネイティブ Git構成に自動的に反映されるようになりました (対応するプロパティがまだ設定されていない場合)。 以前は、手動で構成する必要がありました。 HTTP プロキシ設定はエージェント側とサーバー側の両方に反映されますが、SSH プロキシ設定は現在 TeamCity サーバーにのみ反映されます。
TeamCity メトリクス設定に、新しい実験的メトリクスが含まれるようになりました:
アップグレードノート
アップグレードする前に、バージョン 2024.07 2023.03 との比較の重要な変更点について読むことを強くお勧めします。
修正済みの課題
実装された機能と修正された課題の概要については、 TeamCity 2024.07 リリースノート の記事を参照してください。
ロードマップ
今後の更新について詳しく見るには、 TeamCity ロードマップを参照してください。
フィードバックは重要です
皆様からのフィードバックを重視しており、ご意見やご提案を共有することをお勧めします。 詳細については、リンク フィードバックを参照してください。