TeamCity 2020.1ヘルプ

TeamCity 2020.1の新機能

条件付きビルドステップ

Now, you get granular control over build steps with the new execution conditions. When running a build, TeamCity will execute each step only if all its preconditions, configured by you, are satisfied in the current run.

詳細なビルドステップ設定で、条件を追加をクリックし、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は、外部チャネル(メールやJabberなど)を使用して、登録済みユーザーにさまざまなビルドイベントについて通知できます。以前は、通知は各TeamCityユーザーまたはユーザーグループに対してのみ構成されていました。今回は、ビルド構成ごとに通知を設定でき、ユーザー固有の通知と同じルールのセットを提供する通知ビルド機能を導入しています。

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

With this feature, it is now possible to describe the notifications in DSL and set up similar notifications for many build configurations by creating a build configuration template.

Slackとの組み込み統合

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

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

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

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

SlackでのTeamCity通知の例:

TeamCity notification in Slack

新しいブラウザ通知機能

2020.1リリースの範囲で、新しいTeamCity Browser Notifier拡張機能を提供しました。ブラウザでアクティブな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ベースのプロジェクトのトークンを生成すると、これらのトークンはVCSのプロジェクトのDSLに保存され、それぞれの安全な値はTeamCityシステム設定に保存されます。同じDSLに基づいて新しいTeamCityプロジェクトを作成する場合、これらのトークンに対応する安全な値がこの新しいプロジェクトでも指定されていることを確認する必要があります。

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

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

TeamCity Tokens tab

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

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

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

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

セカンダリノードの改善

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

  • 新しい責任: ビルドトリガーの処理 .
    In setups with many projects and build configurations, a significant amount of the main server’s CPU is allocated to constant processing of build triggers. By enabling this responsibility for one or more secondary nodes, you distribute the trigger processing tasks and necessary CPU load between the main node and the responsible secondary ones.

  • より多くのユーザーレベルのアクション .
    Secondary nodes now allow changing user settings, checking for pending changes, performing various agent-related actions, and more. Refer to our documentation for the full list of available actions.

  • Web UIによる自動更新 .
    Use our autoupdate on secondary nodes, similarly to the main server experience.

  • エージェント | クラウドタブ .
    You can now monitor cloud agents right on a secondary node.

テスト運用版UIの新機能

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

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

TeamCity experimental Agents tab

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

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

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

Customizing experimental sidebar

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

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

(1) When viewing the project details, you can see the statuses of build configurations of all the subprojects, even when their blocks are collapsed. Only builds in the default branches are considered.
(2) You can instantly add a child subproject or build configuration.
(3) The build configuration context menu now provides quick access to its settings' sections.

Customizing experimental sidebar

その他の改善

  • Java 11は、Java 8.ではなく、TeamCityサーバーWindowsインストーラーおよびサーバーDockerイメージにバンドルされています。

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

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

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

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

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

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

修正された課題

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

アップグレードノート

2019.2.xから2020.1への変更

以前のリリース

最終更新日: 2020年8月14日

関連ページ:

ビルドステップ条件

When configuring a build step, you can choose a generaland, since TeamCity 2020.1, add a parameter-basedexecution condition.Execution conditions make

Kubernetes用のTeamCityの設定

Since version 2020.1, theKubernetesのサポートplugin is bundled with TeamCity. The plugin adds the Kubernetes type ofcloud profileand allows runningbuild ag...

ビルド障害の調査とミュート

何らかの問題やテストの失敗が原因でビルドが失敗した場合、TeamCityを使用すると、ビルドエラーの調査を特定のユーザーに割り当てたり、ビルドステータスに影響を与えないように失敗をミュートしたりできます。失敗したビルド構成全体の調査を割り当てるか、単一のビルドの問題と失敗したテストを調査/ミュートで...

プル・リクエスト

Theプル・リクエストbuild feature lets you automatically load pull request (ormerge requestsin case of GitLab) information and run builds on pull request branc...

Jiraクラウド統合

Jiraクラウド統合ビルド機能により、ビルドステータスを直接Jira Cloudにリアルタイムで報告できます。JiraソフトウェアクラウドREST APIを使用し、Jiraとの通常の統合と比較して追加の認証パラメーターが必要です。これは、TeamCityインターフェースのみに影響します。この機能をビ...

ビルド構成テンプレート

概要:構成テンプレートを作成するallow you to eliminate duplication of build configuration settings. If you want to have several similar (not necessarily identical) bu...