TeamCity オンプレミス 2024.07 ヘルプ

TeamCity 2020.1 の新機能

条件付きビルドステップ

これで、新しい実行条件を使用してビルドステップを細かく制御できます。ビルドを実行すると、TeamCity は、現在の実行で構成されたすべての前提条件が満たされている場合にのみ、各ステップを実行します。

詳細なビルドステップ設定で、条件を追加をクリックし、TeamCity サーバーまたはエージェントによって提供されるビルドパラメーターの論理条件を指定します。次のような条件例の中からすばやく選択できます。

  • デフォルトのブランチでのみステップを実行する

  • リリースブランチでのみステップを実行します

  • 個人ビルドのステップをスキップする

または、カスタム条件を作成すると、TeamCity はサポートされているパラメーターと値を自動的に提案します。幅広い論理条件とパラメーターのセットが利用可能です。

Adding a parameter-based execution condition

すぐに使える Kubernetes サポート

TeamCity 2020.1 には、広く使用されている Kubernetes のサポート(英語)プラグインがバンドルされています。

TeamCity と Kubernetes の統合により、K8S クラスター内でクラウドエージェントを実行できます。特定のイメージから、Kubernetes デプロイから、またはカスタム pod テンプレートに基づいて、ビルドエージェントを起動する方法を選択できます。

Adding a Kubernetes image

TeamCity を Kubernetes と統合する方法については、ドキュメントを参照してください

バンドルされた統合により、インストールされている外部の Kubernetes サポートプラグインが置き換えられます。TeamCity の以前のバージョンでこのプラグインによって提供された Helm ランナーを使用していた場合は、2020.1 にアップグレードする前に、アップグレードノートを参照してください。

調査履歴

実践からわかるように、調査ツールは TeamCity ユーザーの間で広く受け入れられています。彼らは、ビルドの問題と失敗したテストのインスペクションを支援し、チームの責任あるメンバーに調査を割り当てることを可能にします。フィードバックに対応するため、調査の履歴を WebUI でアクセスできるようにしました。これは、誰がいつ調査を変更または解決したかを特定することが容易ではない大規模なチームやプロジェクトに最も役立ちます。

調査に適用されたすべてのアクションを表示するには、そのコンテキストメニューを開いて調査履歴をクリックします。

Investigation history

Azure DevOps のプルリクエストサポート

これで、TeamCity ビルドは、オンプレミスおよびクラウド Azure DevOps(2018 以降)でプルリクエストを検出できるようになりました。

それぞれのビルド機能を構成するには、ビルド設定 | 機能を構築するに移動し、ビルド機能を追加をクリックして、プルリクエストを選択します。

Azure DevOps の場合、TeamCity は、他の VCS のようにプルリクエスト自体ではなく、マージブランチでリクエストを検出することに注意してください。各ビルドは仮想ブランチで起動され、PR をマージした後のビルドの実際の結果を示します。ビルドには、変更を伴うコミットと仮想マージコミットの両方が含まれます。

Jira Cloud で TeamCity ビルド情報を表示する

Jira Cloud との TeamCity 統合が拡張されました。現在、TeamCity は、ビルドのコミットでメンションされている Jira タスクにすばやくアクセスできるだけでなく、ビルド情報を Jira Cloud にリアルタイムでレポートします。このようにして、TeamCity サーバー自体をチェックする必要なく、Jira でビルドステータスを直接プレビューできます。

TeamCity build status in Jira Cloud

Jira Cloud との統合の構成の詳細については、ドキュメントを参照してください。

ビルド構成レベルの通知

TeamCity は、外部チャネル(メールなど)を使用して、登録ユーザーにさまざまなビルドイベントについて通知できます。以前は、通知は TeamCity ユーザーまたはユーザーグループごとにのみ構成されていました。現在、ビルド構成ごとに通知を設定でき、ユーザー固有の通知と同じルールのセットを提供する通知ビルド機能を導入しています。

このアプローチでは、特定の TeamCity ユーザーを参照する必要がなく、グループ通知に適しています。現在、この機能はメールと Slack による通知をサポートしています。

この機能を使用すると、ビルド構成テンプレートを作成することで、DSL で通知を記述し、多くのビルド構成に同様の通知を設定できるようになりました。

Slack との組み込み統合

このバージョン以降、Slack 統合が TeamCity に組み込まれました。プライベートメッセージまたは Slack チャネルを介して、特定のビルドイベントと詳細を含む通知を受信できます。

2 つの通知オプションを使用できます。

  • TeamCity の通常の通知と同様に、ユーザープロファイルのプロジェクトごとに構成された個々の通知

  • 単一のビルド構成(またはテンプレート内のプロジェクト全体)の通知を設定できるビルド構成レベル 通知。責任あるビルド機能を構成する方法についての続きを読む

Slack での TeamCity 通知の例:

TeamCity notification in Slack

新しいブラウザー通知機能

2020.1 リリースの範囲内で、新しい TeamCity BrowserNotifier 拡張機能を導入しました。ブラウザーでアクティブな TeamCity セッションを自動的に検出し、カスタムルールに基づいて、ビルドのステータスとイベントに関するリアルタイムの通知を送信します。この拡張機能は、Mozilla Firefox、Opera、Google Chrome(Microsoft Edge などのすべての Chromium ベースのブラウザーを含む)で使用できます。

新しい Browser Notifier は、非推奨の Windows Tray Notifier を置き換えることを目的としており、設定されているすべてのルールがあれば、それを自動的に使用します。

Notifier の便利な機能の詳細については、ブログ(英語)をご覧ください(英語)

プラグインを含む完全なエージェントのダウンロード

これで、サーバーで現在有効になっているすべてのプラグインがパックされた完全な TeamCity エージェントにアクセスできます。このオプションは、スクリプトを使用して(たとえば、クラウドで)エージェントイメージを作成する場合に最も便利です。

通常の TeamCity エージェントディストリビューションにはプラグインが含まれていません。エージェントは最初の起動時にプラグインをダウンロードします。完全なエージェントにはすべての有効なプラグインが含まれ、自動的に現在の TeamCity サーバーの状態との関連性が維持されます。これにより、ディストリビューションアーカイブが大きくなりますが、最初のエージェントの実行に費やされる時間が大幅に短縮されます。すべてのインスタンスは最初からサーバーと同期され、すぐにビルドを実行できます。

開始後、フルエージェントは通常のエージェントのように動作することに注意してください。TeamCity サーバーでプラグインの状態を変更した場合、サーバーと同期するにはすべてのアクティブなエージェントを再起動する必要があります。

完全なエージェントをダウンロードするには、TeamCity のエージェントページに移動し、ビルドエージェントインストールメニュー開いて、完全な ZIP ファイルのディストリビューションを選択します。このアーカイブへのリンクをコピーして、自動化スクリプトで使用できます。承認は必要ありません。

Download TeamCity full agent ZIP

プロジェクトの安全な価値の管理

このリリースでは、プロジェクトトークンの操作が簡単になっています。

TeamCity で DSL ベースのプロジェクトのトークンを生成する場合、これらのトークンはプロジェクトの DSL の VCS に保存され、それぞれの安全な値は TeamCity システム設定に保存されます。同じ DSL に基づいて新しい TeamCity プロジェクトを作成するときは、これらのトークンに対応する安全な値がこの新しいプロジェクトでも指定されていることを確認する必要があります。

この手順に対処するために、TeamCity は他のプロジェクトでプロジェクトのトークンの欠落している安全な値を自動的に探します。

プロジェクト設定 | バージョン対応設定 | トークンタブで、必要な安全な値を手動で入力できます。TeamCity が、編集を許可されている他のプロジェクトで同じトークンを見つけた場合、これらのプロジェクトで使用されている値をコピーするオプションがあります。

TeamCity Tokens tab

安全な価値を奪うをクリックして、このページに直接新しいトークンを追加することもできます。

カスタム暗号化キーのサポート

TeamCity は、プロジェクト構成ファイルで使用されるすべての安全な値をスクランブル形式で格納します。初期値は TeamCity データディレクトリに格納され、その安全性は主に環境のセキュリティに依存します。追加のセキュリティレベルとして、TeamCity は安全な値を保護するためのカスタム暗号化キーをサポートするようになりました。デフォルトのスクランブル戦略の代わりにカスタム暗号化を使用することにより、潜在的な悪意のあるアクションのリスクを最小限に抑えることができます。

この新しいオプションの詳細については、ドキュメントを参照してください

セカンダリノードの改善

各リリースでは、セカンダリノードでの TeamCity サーバーエクスペリエンスを最大限に活用できるようになっています。バージョン 2020.1 以降、セカンダリノードは次の機能をサポートしています。


  • 多くのプロジェクトとビルド構成があるセットアップでは、メインサーバーの CPU の大部分がビルドトリガーの継続的な処理に割り当てられます。1 つ以上のセカンダリノードに対してこの責任を有効にすると、トリガー処理タスクと必要な CPU 負荷がメインノードと担当するセカンダリノードの間で分散されます。


  • セカンダリノードでは、ユーザー設定の変更、保留中の変更の確認、さまざまなエージェント関連のアクションの実行などが可能になりました。


  • メインサーバーと同様に、セカンダリノードでも自動更新を使用します。


  • セカンダリノード上でクラウドエージェントを直接監視できるようになりました。

テスト運用版 UI の新機能

すべてのエージェントを表示する

すべてのエージェントビューには、エージェントに関する最も重要な情報が表示されます。このビューは、多数のエージェントに対してより速く機能します。エージェントのステータスをすばやくプレビューし、1 つのダッシュボードでエージェントを並べて管理できます。

TeamCity experimental Agents tab

サイドバーでプロジェクトを並べ替える

実験的な UI に欠落している、最もリクエストされた機能の 1 つは、プロジェクトのリストをカスタマイズする機能でした。このリリースでは、この機能をテスト運用版の UI サイドバーに追加することで、お客様の要求に対応します。

プロジェクトのサイドバーのカスタマイズを開始するには、右上隅にある wn-pencil.png をクリックします。キーボードまたは UI 矢印ボタンを使用して、リスト内のプロジェクトまたはビルド構成を移動できます。この構成ウィンドウで、プロジェクトをお気に入りとして直接マーク / クリアすることもできます。

Customizing experimental sidebar

プロジェクトホームの改善

TeamCity 2019.1 の実験的な UI で導入されたプロジェクトホームページは、2020.1 でいくつかの便利な機能を受け取ります。

(1)プロジェクトの詳細を表示すると、ブロックが折りたたまれている場合でも、すべてのサブプロジェクトのビルド構成のステータスを確認できます。デフォルトのブランチのビルドのみが考慮されます。
(2)子サブプロジェクトやビルド構成を瞬時に追加できます。
(3)ビルド構成のコンテキストメニューから設定セクションにすばやくアクセスできるようになりました。

Customizing experimental sidebar

その他の改善

  • Java 11 は、Java 8 の代わりに、TeamCity サーバー Windows インストーラーとサーバー Docker イメージにバンドルされています。

  • 2 番目の失敗時の調査の自動割り当てが最適化されました(詳細については、ドキュメントを参照してください)。

  • TeamCity は、BCrypt アルゴリズムを使用してユーザーのパスワードをより安全に保管できるようになりました。

  • プロジェクト設定 | ビルドスケジュールタブに代替フィルターオプションが追加されます。「保留中の変更がある場合にのみトリガーする」オプションが有効になっているトリガーを非表示にします。これにより、ビルドの動作を調査する必要がある場合に、このオプションが無効になっているすべてのトリガーをすばやく見つけることができます。

  • 推奨されるセキュリティとパフォーマンスの実践に準拠するために、TeamCity エージェントの Docker イメージは次のようになります。

    • 非 root ユーザーで実行します。

    • 大量のデータの書き込みが必要なディレクトリには Docker ボリュームを使用します。

  • test_names ディクショナリテーブルに多数のテスト名があるサーバーのメモリ使用量が最適化されました。

修正された問題

修正された問題の全リスト (英語)

アップグレードノート

2019.2.x から 2020.1 への変更

以前のリリース

関連ページ:

ビルドステップの実行条件

ビルドステップを構成するときに、一般的な実行ポリシーを選択し、TeamCity 2020.1 以降、パラメーターベースの実行条件を追加できます。実行条件により、ビルドがより柔軟になり、次のような多くの一般的な使用例に対応します。デフォルトのブランチでのみステップを実行する、ブランチでのみステップを実行する、個人ビルドのステップをスキップする、ビルドステップの条件を追加メニューで使用可能な共通オプションをすばやく選択できます。あるいは、その他の状態オプションを選択して、パラメーターベースの実行条件...

Kubernetes 用の TeamCity の設定

Kubernetes のサポートプラグインのおかげで、TeamCity は Kubernetes クラスターでビルドエージェントを実行できます。要件:TeamCity と Kubernetes の統合は、ツールに依存しないため、クラスターにインストールする必要はありません。TeamCity ユーザーが TeamCity エージェントによって使用される Kubernetes 名前空間で書き込み操作を実行できることを確認してください。また、Kubernetes ユーザーロールに対して次の権限を設定す...

アップグレードノート

2024.07.1 から 2024.07.2 への変更:付属ツールのアップデート Perforce Helix Core クライアント (p4) は、エージェントおよびサーバー Docker イメージでバージョン 2022.2-2637361 に更新されました。既知の問題 SSH エージェントビルド機能は、Windows エージェントで SSH キーをロードできません。詳細については、この YouTrack チケットを参照してください:TW-89529。2024.07 から 2024.07.1 へ...

ビルドとテストの失敗への対処

ビルドの実行中、通常、次のいずれかの種類の障害が発生する可能性があります。テストの失敗 - ビルド中に試行されたユニットテストまたは機能テストの失敗。ビルドの問題 - ビルド中に発生したその他の問題: リモートリポジトリにアクセスできない、ビルドアーティファクトの取得またはアップロードに失敗する、コンパイルエラーなど。ビルドの問題を表示:TeamCity では、ビルドの問題を検出して調査する方法が複数あります。ビルド結果ページビルド結果ページには、この個々のビルド実行に関する最も詳細な情報が表示さ...

プルリクエスト

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

Jira クラウド統合

Jira クラウド統合ビルド機能を使用すると、ビルドステータスを Jira クラウドにリアルタイムで直接レポートできます。Jira クラウド統合設定:この機能を設定するには、すべての親プロジェクトで利用可能な接続から、Jira Cloud への必要な接続を選択します。デプロイビルド構成の場合、環境タイプ (テストや本番など) と環境名も指定する必要があります。これらのオプションは、Jira Cloud でデプロイ情報を表示するために必要です。Jira Cloud でのビルドステータスの表示:...