アップグレードノート
2025.11.2 から 2025.11.3 への変更
付属ツールのアップデート
バンドルされた Git は、サーバーとエージェントの両方の Docker イメージでバージョン 2.53 に更新されました。
TeamCity イメージで提供された Docker には、ビルドスクリプトで直接参照したいユーザーのためにリリース間の一貫性を確保するために、999 の固定 GID が付与されるようになりました。
2025.11.1 から 2025.11.2 への変更
buildagentユーザーの UID を復元するため、TeamCity/Linux エージェントイメージからデフォルトのubuntuユーザーが削除されました。このユーザーはバージョン 2025.11 で UID を 1000 から 1001 に変更したため、この UID 値に依存するカスタムユーザースクリプトの更新が必要になった可能性があります。詳細については、こちらのセクションを参照してください: 2025.11 バンドルされたツールのアップデート
2025.11 から 2025.11.1 への変更
既知の問題
TeamCity エージェントがバックグラウンドで Docker コンテナーを実行すると、このエージェントで起動されたサービスメッセージを介してアーティファクトを公開するビルドがフリーズする可能性があります。
関連する YouTrack チケット: TW-98084(英語)。
Java スタイルのテスト名 (たとえば、
suite:package.class.method) と非 Java 名 (myTest) が混在するテストスイートを実行するビルドは、単一のバッチとして実行され、並列テストビルド機能が無視され、IllegalArgumentException: Comparison method violates its general contractエラーが発生する可能性があります。関連する YouTrack チケット: TW-98073(英語)。
ビルド構成で
teamcity.pullRequest.source.branchおよびteamcity.pullRequest.target.branchパラメーターが明示的に定義されている場合、空または不正な値が報告されます。関連する YouTrack チケット: TW-98089(英語)。
認証トークンのスコープが正しくないため、パイプラインは、GitHub アプリ接続を介して追加された非プライマリリポジトリからの新しい変更を収集できません。
関連する YouTrack チケット: TW-97945(英語)。
2025.07.3 から 2025.11 への変更
TEAMCITY_JRE環境変数または<Agent home>/jreディレクトリに適切な Java バージョンが格納されている場合、Linux および macOS エージェントは x86 バージョンの Java を検索しなくなりました。Java 21 の移行日が確定しました。バージョン 2026.1 以降、TeamCity サーバーおよびエージェントは 21 より前の Java バージョンでは起動できなくなります。
TeamCity は、
DataDirectoryの/config/projects/_Root/plugins/metarunnersフォルダー内のファイル変更を追跡しなくなりました。つまり、ファイルシステム内で設定ファイルを直接編集して既存のレシピを更新したり、新しいレシピを作成したりすることができなくなりました。詳細情報と推奨される回避策については、TW-97816(英語) の YouTrack チケットを参照してください。Maven 2.x はサポート終了となり、Apache によるサポートは終了しました (公式の EOL 発表(英語)を参照)。そのため、TeamCity 2026.1 以降のバージョンでも Maven 2 のサポートは終了します。このバージョンを使用したビルドは引き続き実行できますが、テストレポートやインクリメンタルビルドなどの高度な機能は利用できなくなります。
完全にサポートされている Maven バージョンを使用するには、Maven ビルドステップをカスタムまたはバンドルされた Maven 3.x バージョンに切り替えてください。
付属ツールのアップデート
TeamCity Docker サーバーおよびエージェントイメージに同梱されているツールをいくつか更新しました。
Git: v2.52.0
Git LFS: v3.7.1
Amazon Corretto JDK: 21
.NET 8.0: v8.0.415 (.NET ランタイム v8.0.21)
Docker エンジン: v28.5.1
Perforce CLI: r25.4
コンテナー: v1.7.28
Mercurial SCM クライアント (Windows イメージのみ): v6.2.2
Linux エージェントおよびサーバー TeamCity イメージのベースイメージは、Ubuntu 24.04 LTS になりました。このイメージには、1000 に UID が等しいデフォルトの
ubuntuユーザーが含まれていますが、これは TeamCity サーバーイメージでは削除されています。TeamCity エージェントイメージには引き続きこのデフォルトユーザーが付属しており、これによりbuildagentユーザーの UID が 1000 から 1001 に(グループ ID が 999 から 994 に)変更されます。この変更は TeamCity の動作には影響しませんが、UID でbuildagentユーザーを参照するカスタムユーザースクリプトは手動で更新する必要があります。2025.11.2 アップデート: 2025.11 以前の動作を復元するため、TeamCity エージェントイメージからデフォルトの
ubuntuユーザーが削除されました。buildagentユーザーは、UID として再び 1000 を返すようになりました。
デフォルトの JaCoCo バージョンは 0.8.8 になりました。さらに、バージョン 0.8.13 がバンドルされるようになりました。
バンドルされた Kubernetes プラグインは AWS SDK v2 に移行されました。
既知の問題
TeamCity サーバーがネイティブの Git を使用している場合、バックグラウンドの Git VCS ルート操作は、以前のバージョンと比較して CPU リソースを大幅に消費します。この問題は、2025.11.1 バグ修正リリースで解決される予定です。それまでの間、JGit に切り替えるか、下記の関連する YouTrack チケットから更新された Git プラグインをダウンロードしてください。
関連する YouTrack チケット: TW-97726(英語)。
更新されたフローで作成されたビルド構成には、パフォーマンスモニタービルド機能がデフォルトで含まれなくなりました。ビルド中のエージェントの CPU、ディスク、メモリ使用量を追跡したい場合は、この機能を手動で追加してください。
関連する YouTrack チケット: TW-97487(英語)。
更新されたフローで作成されたビルド構成では、従来の UI で使用されていた「自動」ポリシーではなく、「ミラーを使用しない」チェックアウトポリシーが使用されます。
関連する YouTrack チケット: TW-97576(英語)。
プロジェクト名フィールドが空白の場合、更新された新しいプロジェクトページの DSL からのインポート (クラシック UI) リンクでは、期待されるページが開きません。
関連する YouTrack チケット: TW-97529(英語)。
Kubernetes エグゼキュータは、pod テンプレートで定義された環境変数を誤って解決します。
関連する YouTrack チケット: TW-97967(英語)。
最初に作成されたスケジュールトリガー後に追加されたパイプライントリガーは、ブランチフィルター設定をリセットします。
関連する YouTrack チケット: TW-98013(英語)。
2025.07.2 から 2025.07.3 への変更
既知の問題
プロジェクトにパイプラインが含まれている場合、お気に入り | 概要 | トレンドページにアクセスできません。
関連する YouTrack チケット: TW-96109(英語)。
2025.07.1 から 2025.07.2 への変更
既知の問題
「任意の Git URL から」パイプライン作成オプションは、
git@hosting:username/repository_name.git形式の SSH URL を受け付けません。詳細については、こちらのチケット(TW-95952(英語))を参照してください。
付属ツールのアップデート
バンドルされた Git は、サーバーとエージェントの両方の Docker イメージでバージョン 2.51 に更新されました。
TeamCity、Docker イメージ内の Python と libxml2 は、それぞれバージョン 3.10.12 および 2.9.13 に更新されました。
2025.07 から 2025.07.1 への変更
潜在的な破壊的な変更はありません。
2025.03 から 2025.07 への変更
devPackage の削除
devPackage ディレクトリは、TeamCity ディストリビューションに同梱されなくなりました。
この変更は標準的な TeamCity の動作には影響しませんが、このディレクトリにあるファイルを利用するカスタムプラグインには影響します。関連する問題を解決するには、プラグイン開発プロジェクトを Maven/Gradle に切り替えることをお勧めします(プラグイン開発入門(英語)を参照)。または、必要な devPackage が同梱されている古い TeamCity インストールをダウンロードすることもできます。
Kubernetes パラメーターの廃止
以前の TeamCity バージョンでは、Kubernetes エグゼキューター設定ページにビルドパラメーターを追加するオプションがありました。これらの明示的に追加された name=value パラメーターは、キューに入れられたビルドの明示的なエージェント要件と照合され、K8s クラスターで実行されるビルドを制御できるようになりました。
バージョン 2025.07 以降、Kubernetes Executor はエージェント要件をネイティブにサポートし、キュー内のビルドを pod 仕様に一致させます。そのため、Executor 設定でビルドパラメーターを宣言する機能は非推奨となりました。
パラメーターを明示的に追加する必要がある場合は、それを環境変数として pod テンプレートに直接追加します。
付属ツールのアップデート
バンドルされた Git は、サーバーとエージェントの両方の Docker イメージでバージョン 2.50.1 に更新されました。
新規 TeamCity インストールで推奨される外部データベース用の JDBC ドライバーは、以下のバージョンに更新されました。
MySQL から 9.3.0
PSQL から 42.7.7 へ
MSSQL から 12.10.1
既知の問題
パイプラインの問題
今後のリリースでもパイプラインへの投資を継続していくことをお約束します。長期的なビジョンとしては、CI/CD ワークフローの大部分においてパイプラインが主要なソリューションとなり、最も複雑または特殊な構成のみがクラシックビルドのチェーンに依存するようになることを目指しています。
現在、パイプラインは早期アクセスプログラムで利用可能であり、次のようないくつかの制限と既知の問題があります。
パイプラインを含むプロジェクトをコピーすると、壊れたパイプライン (TW-94668(英語)、TW-93726(英語)) が生成されます。
特定の AWS 接続設定により、パイプラインが S3 アーティファクトストレージにアーティファクトを公開できなくなります (TW-94586(英語))。
ビルドパラメーターを使用して資格情報またはブランチ (TW-94624(英語)) を指定する VCS ルートから生成された、動作が不適切なパイプライン。
パイプラインの EAP にご参加いただく(英語)際は、ぜひ問題をご報告いただき、ご提案やご要望をお聞かせください。信頼性が高く、直感的で、真にユーザー中心のソリューションの提供を目指しておるため、皆様からのフィードバックは大変貴重です。
その他の問題
IIS サーバー上で実行されている TeamCity インスタンスは、ページの読み込み時に 404(ネットワークエラー)を返すことがあります。回避策として、IIS サーバーの
maxQueryStringLengthプロパティまたはmaxQueryStringプロパティ(あるいはその両方)を 4000 文字に設定し、それでも問題が解決しない場合は徐々に値を大きくしてください。詳細については、以下のリンクを参照してください: TeamCity UI にコンテンツがありません |TW-94891(英語)。多数のプロジェクトを含む大規模な TeamCity インスタンスでは、2025.07 アップデートの処理に通常よりも時間がかかる場合があります。アップグレードが完了するまで、サーバーの再起動は避けてください。
ステータス発行者のコミット設定でパラメーターを使用するとビルド機能が失敗します。この問題は次回のバグ修正アップデートで解決される予定です。それまでの間、パラメーターに依存せずにステータス発行者の認証設定を明示的に指定するか、このコメントにリンクされているパッチ適用済みのプラグイン(TW-94893(英語))をインストールすることをお勧めします。
VCS トリガーはプルリクエストブランチをターゲットにしており、
jetbrains.buildServer.buildTriggers.BuildTriggerExceptionをスローしています。詳細については、こちらのチケット TW-94999(英語) を参照してください。Jackson ライブラリのアップデート後、TeamCity が Kubernetes YAML 定義の読み取りに失敗する可能性があります。この問題は 2025.07.2 バグ修正アップデートで解決される予定です。この問題が本番環境に影響している場合は、更新された Kubernetes プラグイン(英語)をインストールしてください。
jetbrains.buildServer.metrics.MetricIdオブジェクトは G1 のメモリ使用量を大幅に増加させます。詳細については、こちらのチケット(TW-96540(英語))を参照してください。
2024.12 から 2025.03 への変更
SearchQL プラグイン(英語)がインストールされている場合は、最新バージョン 95(英語) にアップデートしてください。以前のバージョンには「metarunner」依存関係がありましたが、メタランナー→ レシピの名前変更により、最新の TeamCity リリースとは互換性がありません。
org.jetbrains.teamcity.internal:pluginsライブラリに依存するカスタムプラグインは、TeamCity 2025.03 以降と互換性がありません。依存関係をorg.jetbrains.teamcity:pluginsに変更し、プラグインを再構築して問題を解決してください。
付属ツールのアップデート
TeamCityDocker イメージにバンドルされている Amazon Corretto Java がバージョン 21.0.6.7.1 に更新されました。TeamCity では、将来のリリースではサポートされなくなる古いバージョンの Java を使用してサーバーとエージェントを更新することについても警告するようになりました。
バンドルされている Tomcat がバージョン 9.0.102 に更新されました。
TeamCity エージェント Docker イメージにバンドルされている .NET SDK がバージョン 8.0.13 に更新されました (SDK 8.0.406)
TeamCity Windows ベースの Docker イメージにバンドルされている Mercurial がバージョン 6.1.1 に更新されました。
Docker エンジン (英語) (Docker CE および Docker CE CLI) は、TeamCity Docker イメージでバージョン 27.5.1 に更新されました。
Perforce P4 (Helix Core) クライアントは、エージェントおよびサーバー Docker イメージでバージョン 2024.2 に更新されました。
バンドルされている Kotlin コンパイラー (TeamCity DSL で使用) と Dokka (Kotlin のドキュメントエンジン) がバージョン 2.1.10 に更新されました。
既知の問題
TeamCity macOS ビルドエージェントを Java 21 にアップグレードすると、
msbuildのパフォーマンスが大幅に低下します。詳細については、この問題を参照してください: TW-92741(英語)。
2024.12.2 から 2024.12.3 への変更
潜在的な破壊的な変更はありません。
2024.12.1 から 2024.12.2 への変更
付属ツールのアップデート
同梱の JaCoCo をバージョン 0.8.8 にアップデートしました。
2024.12 から 2024.12.1 への変更
付属ツールのアップデート
Perforce P4 (Helix Core) クライアントは、エージェントおよびサーバー Docker イメージでバージョン 2022.2-2693782 に更新されました。
Git LFS バージョンは、エージェントおよびサーバー Docker イメージで 3.6.1 にプルアップられました。
バンドルされている Tomcat がバージョン 9.0.98 に更新されました。
既知の問題
Devolutions リモートデスクトップマネージャーによって生成された OpenSSH 形式の SSH キーは、TeamCity 内では使用できません。回避策として、これらのキーを
puttygenにインポートし、OpenSSH 形式で再度エクスポートすることで修正できます。詳細については、この YouTrack チケットを参照してください: TW-91528(英語)。Git SSH プロキシ設定 (
teamcity.git.sshProxy*) を使用する場合、RHEL を含む一部の Linux ディストリビューションで実行されているサーバーにnetcatユーティリティを追加インストールする必要がある場合があります。詳細情報: TW-91621(英語)。エージェントで Git v2.48.0 および v2.48.1 を使用すると、ビルド手順でタグの解決が不正確になる可能性があります。今後の更新まで Git v2.47.2 のままにしておくことをお勧めします。詳細については、この YouTrack チケットを参照してください: TW-91499(英語)
Linux AMD64 サーバーイメージ(英語)はロケールの設定に失敗し、特殊文字が正しくレンダリングされません。これらの文字がブランチ、VCS ルート、プロジェクト、その他の名前に表示されると、さまざまな TeamCity エラーレポートがトリガーされます。詳細については、このチケットを参照してください: TW-91776(英語)。
TeamCity は、アイコンがないため、一時停止および調査中のビルド構成の概要ページをレンダリングできません。この問題を解決するには、TW-91764(英語) チケットからアーカイブをダウンロードし、その内容を
<TeamCity-installation-directory>/webapps/ROOT/js/ringディレクトリに抽出します。
2024.07 から 2024.12 への変更
デフォルトのプロジェクト開発者 ロールには、エージェントの詳細を見るではなくプロジェクトエージェントの詳細を表示権限が含まれるようになりました。この更新により、権限がロールと一致するようになり、プロジェクト開発者がプロジェクトプール外のエージェントの詳細にアクセスできなくなります。
.NET ビルドランナーのサポートプラグイン (
/plugins/dotNetRunners.zip) は、TeamCity にバンドルされなくなりました。次のビルド手順は、既存の TeamCity サーバーでは引き続き機能しますが、新しくインストールされたインスタンスでは使用できません。NUnit レガシー
NAnt
.NET プロセスランナー
MSpec
Visual Studio (sln)
Visual Studio 2003
アーティファクト移行ツールは、AWS S3 バケットに加えて、Azure クラウドストレージもサポートするようになりました。サポートされているストレージの実際のリストに対応するために、特定の構成プロパティの名前が変更されました。
teamcity.storage.migration.s3.threadCountはteamcity.storage.migration.copying.threadCountに名前が変更されましたproperty teamcity.storage.migration.s3.upload.numberOfRetriesはteamcity.storage.migration.upload.numberOfRetriesに名前が変更されましたteamcity.storage.migration.s3.upload.retryDelayMsはteamcity.storage.migration.upload.retryDelayMsに名前が変更されました
付属ツールのアップデート
エージェントおよびサーバー Docker イメージの更新:
Docker エンジン (英語) (Docker CE および Docker CE CLI) は、すべての Linux エージェントイメージでバージョン 27.3.1 に更新されました。
TeamCity サーバー Docker コンテナー内の Linux イメージがバージョン 22.04 (LTS) に更新されました。
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.47.1 に更新されました。
Git LFS バージョンは 3.0.2 に変更されました。
バンドルされている Kotlin バージョンは 2.0.21 に更新されました。言語バージョンは 1.9 のままです。今後のリリースでは、K2 コンパイラーへの移行とともに言語バージョンを上げる予定です。この変更がカスタム Kotlin コードに影響するかどうかは、K2 移行ガイド(英語)を参照してください。
既知の問題
TeamCity クリーンアップ手順がビルドをアーティファクトとともに削除するように設定されている場合、外部の S3 ストレージにアップロードされたビルドは削除されない可能性があります。詳細については、この YouTrack の問題を参照してください: TW-92394(英語)。この問題は TeamCity 2024.12.3 バグ修正アップデートで解決されました。
2024.07.2 から 2024.07.3 への変更
REST API : ユーザーが TeamCity にアクセスできなくなるのを防ぐために、ユーザーの 2FA を無効にするはこのユーザーに対して 1 週間の猶予期間を自動的にリフレッシュするようになりました。
2024.07.1 から 2024.07.2 への変更
付属ツールのアップデート
Perforce P4 (Helix Core) クライアントは、エージェントおよびサーバー Docker イメージでバージョン 2022.2-2637361 に更新されました。
既知の問題
SSH エージェントビルド機能は、Windows エージェントで SSH キーをロードできません。詳細については、この YouTrack チケットを参照してください: TW-89529(英語)。
2024.07 から 2024.07.1 への変更
付属ツールのアップデート
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.46 に更新されました。
2024.03 から 2024.07 への変更
付属ツールのアップデート
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.45.2 に更新されました。
TeamCity ディストリビューションには、HSQLDB ライブラリがバンドルされなくなりました。代わりに、オンデマンドでダウンロードされるようになりました (HyperSQL データベースをすでに使用している場合、または新しい TeamCity サーバーの初回起動時にこのオプションを選択した場合)。TeamCity インスタンスがオフラインの場合、またはプロキシサーバーの設定により必要なライブラリをダウンロードできない場合は、download.jetbrains.com(英語) から
hsqldb1-1.0.0.jarを直接ダウンロードし、<TeamCity Data Directory>/lib/jdbcに配置します。
既知の問題
2024.07-nanoserver-1809および2024.07-windowsservercore-1809Docker イメージから生成されたビルドエージェントは、これらのエージェントを再起動すると、一部の TeamCity ランナーと互換性がなくなります。この問題を回避するには、イメージからC:/BuildAgent/pluginsディレクトリを削除して、プラグインの更新を強制します。TW-88962(英語)Maven ステップは、「Error injecting: org.apache.maven.DefaultMaven」というメッセージで失敗する可能性があります。この問題の修正は、TeamCity 2024.07.1 バグ修正アップデートで提供される予定です。回避策として、パッチを適用した Maven プラグイン(英語)をインストールするか、代わりに CLI ランナーからビルドコマンドを実行してください。
バージョン 2024.07 は Kotlin DSL によって認識されないため、DSL からバージョン付き設定をインポートするときに「設定バージョン 2024.07 はサポートされていません」というエラーが発生します。
2024.03.2 から 2024.03.3 への変更
潜在的な破壊的な変更はありません。
2024.03.1 から 2024.03.2 への変更
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.45.1 に更新されました。
既知の問題
Amazon エラスティックコンテナーサービスサポート(英語)プラグインをご利用の場合は、最新の「SNAPSHOT-20240513140730」バージョンに更新してください。古いバージョンでは、TeamCity サーバーの 2024.03.2 バージョンで誤動作する可能性があります。
「インスタンス」タイプの AWS ホストエージェントは、TeamCity サーバーへの認証に失敗する場合があります。回避策として、次のチケットで提案されているように内部プロパティを追加することでこの問題を解決できます: TW-88068(英語)。
TeamCity サーバーは、接続された仮想マシンからの Azure クラウドエージェントの認証に失敗します。この問題は、管理対象イメージでホストされている Azure イメージには影響しません。Azure クラウドエージェントを VM からイメージに移行することが要件に合わない場合は、TW-88070(英語) を追跡して、近い将来に実装される予定の Azure リソースマネージャークラウドサポート(英語)プラグインの更新に関する通知をタイムリーに受け取ってください。
2024.03 から 2024.03.1 への変更
潜在的な破壊的な変更はありません。
2023.11 から 2024.03 への変更
Perforce ヘリックススウォーム用に構成されたステータス発行者のコミットビルド機能は、中間ビルドステータス (キューに登録、開始、キャンセル) を Swarm レビューのコメントタブに投稿しなくなりました。代わりに、この機能は最終的なビルドステータス (成功または失敗) のみを通知します。さらに、ビルド機能の設定ダイアログでコードレビューのコメントオプションのチェックを外して、これらの残りのステータス通知も無効にすることができます (この場合、コミットステータスパブリッシャーはレビューのテストタブのみを更新します)。
バージョン 2023.03 以降、JetBrains dotCover チームによってサポートされなくなった dotCover コマンドラインツールのバージョンは、明示的に「非推奨」としてマークされます。

これらのバージョンは引き続き機能しますが、代わりに非推奨ではないバージョンに移行することをお勧めします。非推奨ではないバージョンを動作させるには、エージェントマシンに .NET フレームワーク、4.7.2+、.NET Core 3.1+ もインストールする必要があることに注意してください。
カスタムエージェントツールをインストールするときに、
teamcity-plugin.xmlファイルを編集して実行可能ビットを設定する(英語)必要はなくなりました。代わりに、アーカイブされたファイルに必要なファイル権限がすべて含まれていることを確認してください。この場合、ツールアーカイブがエージェントマシン上で解凍されるときに、ファイルは実行可能なままになります。既存の構成で引き続き TeamCity.Node(英語) プラグインを使用する場合は、ここから(英語)最新バージョンをダウンロードしてください。古いプラグインバージョンはロードに失敗し、エージェントが「spring コンテキストの初期化に失敗しました」エラーを報告します。
Maven ツールの更新
バージョン 2024.03 では、バンドルされた Maven ツールに関連する多くの変更が導入されています。これらの変更は、既知の CVE を含む特定の Maven バージョンによって決定され、特定の重要でないコンポーネントとツールをバンドル解除することで TeamCity インストーラーのサイズを削減することを目的とした取り組みを継続しています。
これらの変更と、既存のプロジェクトに対する潜在的な影響は次のとおりです。
Maven のステップとトリガーで使用されていないすべての Maven バージョンは削除されます。既存の構成に必要な Maven バージョンは、TeamCity サーバーが最初に起動したときにダウンロードされ、インストールされます。サーバーが https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven(英語) との接続を確立できない場合は、不足しているツールを手動でインストールする必要があります。既存の構成で Maven が使用されていない場合は、最新バージョンの 3.9.6 のみがインストールされます。
Maven の「デフォルト」バージョンを利用する既存の構成がない場合、バージョン 3.9.6 が新しい「デフォルト」になります。それ以外の場合、「デフォルト」オプションは以前と同じ Maven ツール (たとえば、3.6.3) を指し続けます。
既存のビルド構成で手動でインストールされた Maven 3.9.6 を使用し、その設定を VCS に保存している場合、この構成を編集すると、
mavenVersionパラメーターの値をcustomからbundled_3_9_6に変更するパッチが生成されます。
付属ツールのアップデート
Maven 3.9.6 は、TeamCity で使用できるツールの標準バージョンの 1 つとして追加されました。バージョン 2024.03 の Maven に関連する重要な変更点については、「Maven ツールの更新」セクションも参照してください。
バンドルされている Kotlin コンパイラー (TeamCity DSL で使用) と Dokka (Kotlin のドキュメントエンジン) がバージョン 1.9.22 に更新されました。
内部 HSQLDB データベースがバージョン 2.7.2 に更新されました。このデータベースは実際の運用目的には使用しないでください。
バンドルされている dotCover ツールがバージョン 2023.3.3 に更新されました。
TeamCity REST API で使用される Jersey(英語) ライブラリがバージョン 2.41 に更新されました。この変更は、通常の REST API ユーザーには影響しません。ただし、バージョン 2.41 は以前の 1.19 と比較して大幅な変更 (依存関係挿入ロジックの変更など) を示しているため、REST API に依存するサードパーティの TeamCity プラグイン (非常に人気のある tcWebHooks(英語) など) は、更新された TeamCity と互換性がなくなる可能性があります。サーバー。
バンドルされている Tomcat がバージョン 9.0.87 に更新されました。
Linux 用のエージェント Docker イメージには、更新された Docker 関連ツールが付属するようになりました。
Docker エンジン (英語) (Docker CE および Docker CE CLI) はバージョン 24.0.9 に更新されました。この変更により、Docker Compose はバージョン v2.25.0 に更新されます。
containerd (英語) がバージョン 1.6.28 に更新されました。
既知の問題
Windows 2024.03-nanoserver-2022(英語) Docker イメージから実行されているエージェントは、再起動後に特定のランナーと互換性がなくなります。この問題は、最初の起動エージェントが期待どおりに動作した後、再起動後にのみ発生します。この問題を追跡するには、この YouTrack チケットを表示します: TW-87124(英語)。
チェックアウトモードが「エージェント上のファイルを常にチェックアウトする」の場合、TFS リポジトリをプルするビルドは
java.lang.NoClassDefFoundErrorメッセージで失敗します。この問題を解決するには、この YouTrack の問題: TW-82824(英語) から、TeamCity 2024.03 と互換性のある更新された VCS サポート: TFVC プラグインをダウンロードしてください。バンドルされた Node.js またはレガシー TeamCity.Node(英語) プラグインによって報告された「無効または破損した jarfile/data/build/teamcity/buildAgent/plugins/environment-fetcher...」エラーが発生した場合は、この YouTrack の問題: TW-87170(英語) から更新されたプロセス環境フェッチャープラグインをダウンロードしてください。
ビルドエージェントは、サーバーの再起動後に非アクティブになると登録解除されることがあります。詳細については、この問題を参照してください: TW-87156(英語)。
2023.11.4 から 2023.11.5 への変更
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.45.1 に更新されました。
2023.11.3 から 2023.11.4 への変更
バンドルされている Git は、Linux および ARM のサーバーおよびエージェント Docker イメージの両方でバージョン 2.43.2 に更新されました。Windows イメージでは、現在利用可能な Git-Windows 用(英語)の最新バージョンであるバージョン 2.43.0 が引き続き使用されます。
既知の問題
このバグ修正またはスタンドアロンセキュリティパッチをインストールすると、バンドルされていない複数のプラグインの古いバージョンが「403: アクセス拒否」応答で失敗します。これらの問題は、対応するプラグインまたは TeamCity サーバーの新しいバージョンで修正されています。
GitHub コミットフックプラグイン — プラグインをバージョン 2023.11-157452(英語) 以降に更新します。詳細情報: TW-86680(英語)。
静的 UI 拡張機能(英語) — プラグインをバージョン 0.x.37 以降に更新してください。詳細情報: TW-86707(英語)。
SAML 認証(英語) — TeamCity サーバーをバージョン 2022.04.5 以降に更新します。
2023.11.2 から 2023.11.3 への変更
潜在的な破壊的な変更はありません。
修正された問題の完全なリストについては、この記事を参照してください: TeamCity 2023.11.3 リリースノート。
既知の問題
サーバーが jetbrains.com ドメインにアクセスできない場合、TeamCity のパフォーマンスが低下します。詳細については、この YouTrack チケットを参照してください: https://youtrack.jetbrains.com/issue/TW-86288(英語)。この問題は、2023.11.4 バグ修正日で解決されています。
JaCoCo を使用したカバレッジレポートの生成は、
ClassNotFoundErrorで失敗する場合があります。この問題を解決するには、TeamCity 2023.11.4 にアップグレードします。現在の JaCoCo カバレッジツールが 2023.11.x サーバーの更新前または更新後にインストールされたかどうかに応じて、このツールを再インストールし、ビルドエージェントを再起動する必要がある場合もあります。詳細については、YouTrack チケット TW-86574(英語) を参照してください。
2023.11.1 から 2023.11.2 への変更
潜在的な破壊的な変更はありません。
修正された問題の完全なリストについては、この記事を参照してください: TeamCity 2023.11.2 リリースノート。
既知の問題
JaCoCo を使用したカバレッジレポートの生成は、
ClassNotFoundErrorで失敗する場合があります。この問題を解決するには、TeamCity 2023.11.4 にアップグレードします。現在の JaCoCo カバレッジツールが 2023.11.x サーバーの更新前または更新後にインストールされたかどうかに応じて、このツールを再インストールし、ビルドエージェントを再起動する必要がある場合もあります。詳細については、YouTrack チケット TW-86574(英語) を参照してください。
2023.11 から 2023.11.1 への変更
以前は、
##teamcity[testMetadata testName='...' name='...' type='number' value='...']サービスメッセージでテストメタデータを報告すると、TeamCity は Y 軸の単位としてミリ秒のグラフを表示していました。この動作は、DateTime 以外の値を渡したユーザーにとっては予期しないものでした。バージョン 2023.11.1 では、type='number'パラメーターはグラフの Y 軸を単純な数値としてフォーマットします。引き続き値をミリ秒で表示するには、型を新しいms値に変更します。このバージョンで導入された他の使用可能な値は、bytesとpercentです。
付属ツールのアップデート
バンドルされている Tomcat がバージョン 9.0.83 に更新されました。
既知の問題
JaCoCo を使用したカバレッジレポートの生成は、
ClassNotFoundErrorで失敗する場合があります。この問題を解決するには、TeamCity 2023.11.4 にアップグレードします。現在の JaCoCo カバレッジツールが 2023.11.x サーバーの更新前または更新後にインストールされたかどうかに応じて、このツールを再インストールし、ビルドエージェントを再起動する必要がある場合もあります。詳細については、YouTrack チケット TW-86574(英語) を参照してください。
2023.05 から 2023.11 への変更
付属ツールのアップデート
.NET Core 3.1 は、TeamCity エージェント Docker イメージにバンドルされなくなりました。
TeamCity エージェント Docker イメージにバンドルされている .NET SDK のバージョンが 5.0 から 6.0 (現在のマイクロソフト LTS(英語) バージョン) に更新されました。
このリリースから、TeamCity エージェント Docker イメージにバンドルされている .NET SDK バージョンは、TeamCity リリース時の現在の Microsoft LTS バージョンと一致します。
バンドルされている Tomcat がバージョン 9.0.80 に更新されました。
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.43 に更新されました。
Microsoft による最初のサポート終了のお知らせリリースに続き、TeamCity サーバーおよびエージェント Docker イメージは Windows 10 バージョン 2004 を使用しなくなります。2023.11 リリース以降、Windows Server 2022 イメージに基づくイメージを公開します。すでに公開されている古い Docker イメージ(例:
jetbrains/teamcity-minimal-agent:2023.05.4-nanoserver-2004)は、アップグレードも削除もされません。バンドルされている dotCover ツールがバージョン 2023.2.2 に更新されました。
TeamCity ディストリビューションのサイズを削減するために、最大の TeamCity ビルドツールである IntelliJ IDEA には TeamCity インストーラーが同梱されなくなりました。代わりに、TeamCity は最初のサーバー起動時にこのツールをダウンロードしてインストールします。ダウンロード / インストールの進行状況を確認するには (または、自動インストールに失敗したサーバーインスタンスに必要なバージョンの IntelliJ IDEA を手動でインストールするには)、管理 | ツールページに移動し、IntelliJ インスペクションと重複エンジンセクションまでスクロールします。
バンドルされている Kotlin コンパイラー (TeamCity DSL で使用) と Dokka (Kotlin のドキュメントエンジン) がバージョン 1.8.22 に更新されました。
バンドルされている ReSharper CLT がバージョン 2023.1.1 に更新されました。このバージョンには dupFinder コマンドラインツールが含まれないため、TeamCity 重複ファインダー (ReSharper) ランナーは非推奨となります ( 最初の非推奨の発表を参照)。このランナーを引き続き使用するには、JetBrains ReSharper コマンドラインツール 2021.2.3 以前をインストールし、ランナーの詳細設定 (R#CLT ホームディレクトリフィールド) でこのツールへのパスを指定します。
S3 プラグインのアップデート
S3 プラグインのオーバーホールのため、次の設定は使用できなくなりました。
事前署名された URL を使用する機能はデフォルトで使用可能であり、無効にすることはできません。
アクセスキー ID、秘密アクセスキー、IAM ロールおよびデフォルトのプロバイダーチェーンオプションは、ネイティブ AWS S3 ストレージでは使用できなくなりました。代わりに、これらのストレージが対応するオプションを編集するために利用する AWS 接続の設定を使用します。これらの設定のいずれかを採用した既存の S3 バケットを表示または編集すると、TeamCity には、新しい AWS 接続に転送できる AWS 接続に変換リンクが表示されます。すべての接続関連のオプションをストレージ設定の外に保持するために、そうすることをお勧めします。
AWS リージョンは、選択したストレージから自動的に取得されます。
IAM コンソールを開くリンクは非表示になります。
カスタムエンドポイントと有効なデフォルトの資格情報プロバイダーチェーンオプションを持つ既存のストレージは、明示的に「カスタム S3」タイプに変換されるようになりました。
EC2 プラグインの更新
Amazon EC2 プラグインはバージョン 2023.11 で大幅に改善されました。このオーバーホールの一環として、AWS Cloud Image から生成された EC2 インスタンスに TeamCity エージェントをプッシュすることはできなくなりました。代わりに、TeamCity エージェントがすでに含まれている EC2 イメージを使用してください。
バージョン 2023.11.2 では、2023.11 更新前に構成されたクラウドプロファイルに対してこの変更がロールバックされる予定です。これにより、既存のクラウドエージェントのエージェントプッシュ機能を引き続き使用できるようになります。ただし、エージェントプッシュ経由でインストールするのではなく、セットアップを更新し、TeamCity エージェントを AMI にベイクすることをお勧めします。後者のオプションは、将来のリリースのいずれかで完全に無効になる予定です。
2023.11.4 アップデート : バージョン 2023.11 より前に構成されたものと新しいもの両方のすべてのクラウドプロファイルに対して、エージェントプッシュが一時的に再度有効になります。
IntelliJ プラットフォーム更新用の TeamCity プラグイン
TeamCity 2023.11 以降、TeamCity サーバーで 2 要素認証 (2FA) が有効になっている場合、ユーザー名 / パスワードの資格情報を使用して IntelliJ プラットフォームから TeamCity にログインすることはできなくなります。代わりに、ユーザー名 / アクセストークンの資格情報を使用してログインできます。
HTTP/SSO 認証モジュールの更新
Azure DevOps OAuth 2.0、Bitbucket Cloud、GitHub App、GitHub Enterprise、GitHub.com、GitLab CE/EE、および GitLab.com 認証モジュールに次の更新が加えられました。
モジュールの追加ダイアログには、新しい任意の <IdentityProvider> ユーザーにログインを許可するチェックボックスが追加されました。ユーザーを特定のドメイン、組織、ワークスペース、グループに制限しないモジュールを構成する場合は、認証を制限するフィールドを空のままにするのではなく、このボックスをオンにする必要があります。
バージョン 2023.05.04 の既存の認証モジュールが空の認証を制限するフィールドで構成されている場合、バージョン 2023.11 に移行すると、TeamCity は管理 | 認証ページに警告通知
All users should be allowed to login, or at least one <IdentityProvider> organization must be specified.を表示します。
既知の問題
TeamCity では、プラットフォームの包括的なセキュリティの強化に全力で取り組んでおり、この取り組みを実現するために製品を継続的に強化しています。
バージョン 2023.11 では、アーティファクトのドメイン分離機能に関連する特定の問題が修正されました。これらの変更の副作用として、一部のユーザーはビルドアーティファクトにアクセスしようとすると無限リダイレクトループ (
ERR_TOO_MANY_REDIRECTS) が発生する可能性があります。この問題を解決するには、プロキシサーバーが有効なX-Forwarded-Hostヘッダーを提供していることを確認してください (構成例については、プロキシサーバーの構成の記事を参照してください)。teamcity.internal.domainIsolation.serveArtifactsOnlyFromArtifactsUrl=false内部プロパティを追加することで、これらの変更をロールバックすることもできます。内部プロパティにより前述のセキュリティ更新が無効になり、TeamCity サーバーのセキュリティが低下することに注意してください。TeamCity ユーザー名にエンコードされた特殊シンボル (絵文字など) が含まれている場合、IntelliJ プラットフォームプラグイン経由で TeamCity にログインできない可能性があります。詳細については、チケット TW-85284(英語) を参照してください。
(2023.11.1 バグ修正アップデートで修正されました) TeamCity は、セキュア SSH プロトコル (SVN+SSH) 経由でアクセスされた Subversion リポジトリの新しいビルドを実行できない可能性があります。詳細については、この問題を参照してください: TW-85310(英語)。
(2023.11.1 バグ修正アップデートで修正されました) LDAP 同期は現在、最初の 1000 人のユーザーを取得します。回避策として、
teamcity.ldap.search.pageSize内部プロパティをより大きな値に設定します。解決の進捗状況については、この YouTrack チケットを参照してください: TW-85444(英語)。親 TeamCity ビルド構成の ID が 40 文字を超える場合、(2023.11.1 バグ修正アップデートで修正されました) ステータス発行者のコミットはビルドステータスを Bitbucket Cloud に公開できません。詳細については、この問題を参照してください: TW-85393(英語)。
2023.05.4 から 2023.05.6 への変更
サーバーおよびエージェント Docker イメージのツール更新:
Windows 用の Git および Git がバージョン 2.45.1 に更新されました。
Perforce がバージョン 2022.2-2531894 に更新されました。
既知の問題
GitHub コミットフックプラグインによって送信されたリクエストは、「403: アクセスが拒否されました」というエラーで失敗します。この問題を解決するには、プラグインをバージョン 2022.04-109057(英語) に更新してください。詳細については、この YouTrack チケットを参照してください: TW-86680(英語)。
プレーンテキストの LDAP 接続 URL (
ldap://...) が使用されている場合、TeamCity UI から管理ページにアクセスできません。この問題を解決するには、安全な LDAPS 接続に切り替えるか (推奨)、次のチケットで提案されているように内部プロパティを追加します: TW-88069(英語)。
2023.05.3 から 2023.05.4 への変更
潜在的な破壊的な変更はありません。
修正された問題の完全なリストについては、この記事を参照してください: TeamCity 2023.05.4 リリースノート。
2023.05.2 から 2023.05.3 への変更
潜在的な破壊的な変更はありません。
修正された問題の完全なリストについては、この記事を参照してください: TeamCity 2023.05.3 リリースノート。
付属ツールのアップデート
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.42 に更新されました。
2023.05.1 から 2023.05.2 への変更
修正された問題の完全なリストについては、この記事を参照してください: TeamCity 2023.05.2 リリースノート。
今後の DupFinder ランナーの廃止予定
次の TeamCity バージョン以降、重複ファインダー (ReSharper) ランナーは、ReSharper コマンドラインツールに同梱されなくなったツールに依存しているため、動作できなくなります。詳細については、対応するサーバーのヘルスレポートを参照してください。
既知の問題
チェックアウトモードが「エージェント上でファイルを常にチェックアウトする」の場合、TFS リポジトリをプルするビルドは
java.lang.NoClassDefFoundErrorメッセージで失敗します。詳細については、YouTrack 問題 TW-82824(英語) を参照してください。
2023.05 から 2023.05.1 への変更
親構成ビルドでのバッチビルドのアーティファクトの公開
このバグ修正アップデートにより、自動的に作成されたバッチビルドは、親構成ビルドのアーティファクトタブにアーティファクトを集約します。詳細については、この記事を参照してください: バッチビルドによって生成されたアーティファクトの公開。
付属ツールのアップデート
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.41 に更新されました。
その他の変更点
「エージェントとの対話型セッションを開く」 権限の名前が「対話型エージェントターミナルを呼び出す」に変更されます。新しい名前は最近の動作の変更を強調しています。この権限は、バージョン 2023.05 で導入されたエージェントターミナルタブをユーザーが開くことができるかどうかを指定するようになり、廃止された SSM ターミナルとは関係なくなりました。
アーティファクト公開ルールを
#teamcity:symbolicLinks=...属性で装飾して、公開されたディレクトリに存在するシンボリックリンクをそのまま含めるか、公開されたアーカイブにこれらのシンボリックリンクによって参照されるファイルとフォルダーを TeamCity に含めるかを選択できるようになりました。詳細については、この記事を参照してください: シンボリックリンクの公開。
2022.10 から 2023.05 への変更
TeamCity サーバーでの Java 8 の廃止予定
TeamCity 2023.05 は Java バージョン 8, 11, 17 をサポートしますが、Java 8 のサポートは、次の TeamCity バージョンで廃止されますもサポートします。Java 8 の非バンドルバージョンを使用している場合は、サーバーを Java 11 または 17 に移行することを強くお勧めします。
付属ツールのアップデート
バンドルされている Kotlin コンパイラー (TeamCity DSL で使用) と Dokka (Kotlin のドキュメントエンジン) がバージョン 1.7.10 に更新されました。
バンドルされている Tomcat がバージョン 9.0.75 に更新されました。
TeamCity Windows インストーラーおよび TeamCity Docker イメージにバンドルされている Amazon Corretto Java がバージョン 17.0.7.7.1 に更新されました。
REST API のアップデート
Web アプリケーション記述言語 (WADL) ジェネレーターは削除されました。詳細については、最初の発表を参照してください。
マルチノードセットアップの更新
「データを変更するユーザーリクエストの処理」の責任は、「UI アクションの処理とユーザーリクエストの負荷分散」に名前が変更されました。
<TeamCity Data Directory>/config/nodes-config.xmlファイルには、メインノードの「MAIN_NODE」責任のみがリストされていました。バージョン 2023.05 では、この構成ファイルには、メインノードで有効になっているすべての責任がリストされます。
ポッドマンのサポート
Podman サポートの実装により、次の変更が加えられました。
「Docker Wrapper」拡張機能の名前がコンテナーラッパーに変更されました。
ビルド結果ページの「Docker 情報」タブの名前が「コンテナー情報」に変更されました。
コンテナーラッパービルド機能をビルド構成に追加しても、
docker.server.version existsエージェント要件は適用されなくなりました。代わりに、TeamCity はdocker.server.osType exists条件を定義するようになりました。このプロパティはpodman.osTypeと同期されるため、Docker の代わりに Podman がインストールされているエージェントはこの新しい要件と互換性があります。
TeamCity メトリクスの更新
バージョン 2023.05 以降、<TeamCity_server_URL>/app/metrics エンドポイント経由でアクセスできる TeamCity メトリクスは OpenMetrics(英語) 仕様に準拠しています。この機能強化により、次の変更が実装されました。
「サマリー」メトリクスの接尾辞が
_totalから_sumに変更されました。例: TeamCity はbuild_queue_optimization_time_milliseconds_totalではなくbuild_queue_optimization_time_milliseconds_sumを報告するようになりました。以前に
_number接尾辞が付いていたメトリクスには、その接尾辞がなくなりました。例:agents_connected_authorized_numberメトリクスはagents_connected_authorizedと呼ばれるようになりました。
以前に収集したメトリクスを保存し、更新されたデータとともに使用するには、メトリクス監視ソリューション ( グラファナ(英語)など) で次のいずれかを実行します。
(推奨) グラフ設定で
or演算子を使用して、メトリクスを新しい名前と古い名前でマージします。例:sum(increase(vcs_changes_checking_milliseconds_sum{type="COLLECT_CHANGES"}[1m])) or sum(increase(vcs_changes_checking_milliseconds_total{type="COLLECT_CHANGES"}[1m]))Prometheus の再ラベル設定(英語)を使用して、Prometheus データベースに書き込まれる前にメトリクスの名前を古い名前に戻します。
これらの変更に加えて、TeamCity はメトリクスの「実験的」タグを報告しなくなりました。一部のメトリクスはまだ実験段階とみなされており、<TeamCity_server_URL>/app/metrics?experimental=true エンドポイント経由でアクセスできることに注意してください。
その他のアップデート
「プロジェクト開発者」ロールを持つユーザーは、
.teamcity/settings/buildSettings.xmlの隠しアーティファクトをダウンロードして表示できるようになりました。以前は、このアクションには、「プロジェクト管理者」以上のロールで有効になっている「プロジェクトの編集」権限が必要でした。エージェントページに SSM ターミナルを開くアクションリンクが表示されなくなりました。この機能は、より汎用的なターミナルを開くボタンを優先して非推奨になりました。詳細については、エージェントをリモートでデバッグするを参照してください。
エージェント側のチェックアウトモードの構成では、チェックアウトディレクトリパスの接尾辞 (たとえば、
+:src/main => src/main/postfixDirectory) はサポートされません。チェックアウトルールで接尾辞を指定した場合、以前の TeamCity バージョンはこのエラーを確認なしで飲み込み、接尾辞を無視するビルドを実行していました。バージョン 2023.05 以降、TeamCity では対応するエラーメッセージが表示され、新しいビルドを開始できません。詳細については、このセクションを参照してください: エージェント側のチェックアウトルールの制限事項。
既知の問題
TeamCity は、イメージをプルする前に Podman クライアントが正常に認証された場合でも、rootful Podman (つまり、エージェントマシン上で root として実行されるコンテナー) を使用してコンテナーをプルするビルドエージェントに対して、「Docker レート制限警告」を表示します。Docker を使用するエージェントの場合、この警告は、エージェントが認証なしでイメージをプルした場合にのみ表示され、ダウンロードレート制限に達する可能性があります。
同じ GitHub アプリへの GitHub アプリの接続を持つ複数のプロジェクトがある場合、TeamCity によって検出された最初の接続に対してのみ Webhook が機能します。他の接続を持つプロジェクトは、変更がないか対応するリポジトリをポーリングし続けます。
ファイルが大きい場合、S3 バケツへのアーティファクトのアップロードが失敗する場合があります。この問題は次のバグ修正アップデート (2023.05.1) で修正される予定です。それまでの間、この YouTrack 問題から S3 プラグインのカスタムビルドをダウンロードしてインストールしてください : TW-81866(英語)。
EC2 ベースのクラウドプロファイルの設定では、ローカルに保存された IAM ロールを利用できるようにするチェックボックスが表示されず、アクセス ID/ シークレットキーによる承認が唯一のオプションのままになる場合があります。この問題は次の 2023.05.1 バグ修正アップデートで修正される予定です。
ビルドアーティファクトとして公開されたディレクトリにシンボリックリンクが含まれている場合、これらのシンボリックリンクによって参照されるファイルとフォルダーは、生成されたアーティファクトアーカイブには含まれなくなります。この問題は、2023.05.1 バグ修正アップデートで解決される予定です。詳細については、記事シンボリックリンクの公開を参照してください。
一部の TeamCity ページには、
htmlタグとbodyタグがありません。詳細については、チケット TW-82749(英語) を参照してください。Amazon メタデータ (IMDSv1) の最初のバージョンを利用する AWS マシンイメージから生成されたエージェントは、メタデータからプロパティ値を取得して自動承認を渡すことができません。詳細については、チケット TW-82176(英語) を参照してください。
2022.10.4 から 2022.10.6 への変更
サーバーおよびエージェント Docker イメージのツール更新:
Windows 用の Git および Git がバージョン 2.45.1 に更新されました。
Perforce がバージョン 2022.2-2531894 に更新されました。
既知の問題
GitHub コミットフックプラグインによって送信されたリクエストは、「403: アクセスが拒否されました」というエラーで失敗します。この問題を解決するには、プラグインをバージョン 2022.04-109057(英語) に更新してください。詳細については、この YouTrack チケットを参照してください: TW-86680(英語)。
プレーンテキストの LDAP 接続 URL (
ldap://...) が使用されている場合、TeamCity UI から管理ページにアクセスできません。この問題を解決するには、安全な LDAPS 接続に切り替えるか (推奨)、次のチケットで提案されているように内部プロパティを追加します: TW-88069(英語)。
2022.10.3 から 2022.10.4 への変更
潜在的な破壊的な変更はありません。
2022.10.2 から 2022.10.3 への変更
付属ツールのアップデート
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.40 に更新されました。
バンドルされている Tomcat がバージョン 9.0.71 に更新されました。
Perforce P4 (Helix Core) クライアントは、エージェントおよびサーバー Docker イメージでバージョン 2022.2-2407422 に更新されました。
既知の問題
「デフォルト認証情報プロバイダー」をプリンシパル AWS 接続として使用すると、セッションの有効期限が切れたときに「デフォルト認証情報プロバイダーチェーン: リクエストに含まれるセキュリティトークンの有効期限が切れています」エラーが発生する可能性があります。この問題は、次期 2022.10.4 バグ修正バージョンの TeamCity にバンドルされる最新の AWS コアプラグインですでに修正されています。このプラグインバージョンを手動でインストールするには、TW-80253(英語) チケットから対応する添付ファイルをダウンロードします。
2022.10.1 から 2022.10.2 への変更
付属ツールのアップデート
バンドルされている Git は、サーバーイメージとエージェント Docker イメージの両方でバージョン 2.39.1 に更新されました。
Perforce P4 (Helix Core) クライアントは、エージェント Docker イメージでバージョン 2022.2-2369846 に更新されました。
バンドルされている Apache Tomcat がバージョン 8.5.84 にアップデートされました。
今後の REST API の更新
Web アプリケーション記述言語 (WADL) ジェネレーターはバージョン 2023.05 で削除されます。これは、Swagger を使用してドキュメント REST API とクライアントコードを生成するようになったためです。
このジェネレーターツールに依存している場合は、お問い合わせいただき、ビジネス要件を共有してください。
2022.10 から 2022.10.1 への変更
AWS 接続
デフォルトのプロバイダチェーンクレデンシャルタイプはデフォルトで無効になっています
AWS 接続のデフォルトのプロバイダーチェーン認証情報タイプは、関連するセキュリティリスクを防ぐためにデフォルトで無効になりました。このオプションを有効にするには、内部プロパティ teamcity.internal.aws.connection.defaultCredentialsProviderEnabled=true を設定します (デフォルト値は false です)。プロパティの設定後にサーバーを再起動する必要はありません。
カスタム STS エンドポイントはデフォルトで無効になっています
AWS 接続構成で STS エンドポイントとして使用できるのは、グローバルまたはリージョンの AWS STS エンドポイント(英語)のみです。MinIO(英語) などの Amazon の代替としてカスタムエンドポイントを使用するには、TeamCity サポートチームにお問い合わせください(英語)。
2022.04 から 2022.10 への変更
TeamCity サーバー 2023.04 での Java 8 の非推奨の計画
TeamCity 2022.10 サーバーは、Java バージョン 8 および 11 をサポートしていますが、2023 年 4 月にリリースされる Java 8 のサポートは、次のバージョン TeamCity 2023.04 で廃止されますをサポートしています。バンドルされていないバージョンの Java 8 を使用している場合は、サーバーを TeamCity 2023.04 の前に Java 11 に移行することを強くお勧めします。
TeamCity は Java 17 と互換性がないため、Java 11 は TeamCity サーバー 2023.04 でのサポートが計画されている唯一のバージョンであることに注意してください。
同梱ツールの更新
バンドルされている Amazon Corretto Java がバージョン 11.0.16.9.1 に更新されました。
バンドルされている Tomcat はバージョン 8.5.82 にアップデートされました。
Kotlin スクリプトランナーにバンドルされている Kotlin コンパイラーは、バージョン 1.7.10 に更新されました。
Maven 3.8.6 は、ツールのバンドルバージョンの 1 つとして追加されました。
組み込み Maven ライブラリがバージョン 3.8.6 に更新されました。
新規 TeamCity インストールで推奨される外部データベース用の JDBC ドライバーは、以下のバージョンに更新されました。
MySQL から 8.0.30
PSQL から 42.5.0 へ
MSSQL から 9.4.1
その他の更新
AWS SSM 経由でエージェントの EC2 インスタンスに接続する権限
TeamCity システム管理者に新しいロールエージェントとの対話型セッションを開くが付与され、Amazon 認証情報を提供せずに、TeamCity UI から EC2 エージェント上で対話的なブラウザーベースのシェルを使用できるようになりました。ここで説明されているようにエージェントが設定されている場合は、エージェントに接続できます。
アーティファクト用の空きディスク容量は自動的に計算されます
空きディスク容量ビルド機能は、アーティファクトのサイズを追跡し、アーティファクトの依存関係を解決するために必要なディスク容量を自動的に計算します。必要なディスク容量を指定するときに、ビルド中にダウンロードされるアーティファクトのサイズを考慮する必要はありません。
Bitbucket サーバープルリクエストブランチの下位互換性
TeamCity は、Atlassian で公式にサポートされていない (英語)Bitbucket サーバーのプルリクエストブランチとの後方互換性を提供します。プルリクエストビルド機能には、ソースコードブランチの代わりに、このようなブランチの (pull-requests/*) を検出できるプルリクエストブランチを使用オプションがあります。アップグレード後、このオプションは、このようなブランチを使用する既存のビルド構成で有効になります。このオプションの使用は推奨されません。
パフォーマンスモニター
パフォーマンスモニタービルド機能は、URL から作成されたビルド構成に対してデフォルトで有効になりました。
既知の問題
AWS 接続のセキュリティリスク
TeamCity サーバーが、機密リソースへのアクセスを許可する関連付けられた IAM ロールを持つ AWS インスタンスでホストされている場合、デフォルトのプロバイダーチェーン資格情報で Amazon Web サービス (AWS) 接続を使用すると、セキュリティ上のリスクが生じる可能性があります。この場合、このタイプの接続を設定した TeamCity プロジェクト管理者は、ロールによって許可されたすべての AWS リソースにアクセスできます。
このセキュリティ問題を回避するには、TeamCity サーバー管理者が内部プロパティ teamcity.internal.aws.connection.defaultCredentialsProviderEnabled=false (デフォルト値は true) を設定して、AWS 接続でのデフォルトプロバイダーチェーン認証情報タイプの使用を無効にすることを強くお勧めします。プロパティを設定した後、サーバーを再起動する必要はありません。
次回のバグ修正アップデートで、このタイプの認証情報をデフォルトで無効にします。
Kotlin DSL プラグインが依存関係を解決できない場合がある
プロジェクトの Kotlin DSL 設定でサードパーティライブラリが使用されている場合、Kotlin DSL プラグインは 2022.10 にアップグレードした後に DSL 依存関係の解決に失敗する(英語)ことがあります。
この問題が発生した場合は、DSL プラグインの更新バージョンに同梱されているバグ修正バージョン 2022.10.1 にアップグレードしてください。
2022.04.5 から 2022.04.7 への変更
サーバーおよびエージェント Docker イメージのツール更新:
Windows 用の Git および Git がバージョン 2.45.1 に更新されました。
Perforce がバージョン 2022.2-2531894 に更新されました。
既知の問題
GitHub コミットフックプラグインによって送信されたリクエストは、「403: アクセスが拒否されました」というエラーで失敗します。この問題を解決するには、プラグインをバージョン 2022.04-109057(英語) に更新してください。詳細については、この YouTrack チケットを参照してください: TW-86680(英語)。
プレーンテキストの LDAP 接続 URL (
ldap://...) が使用されている場合、TeamCity UI から管理ページにアクセスできません。この問題を解決するには、安全な LDAPS 接続に切り替えるか (推奨)、次のチケットで提案されているように内部プロパティを追加します: TW-88069(英語)。
2022.04.4 から 2022.04.5 への変更
潜在的な破壊的な変更はありません。
2022.04.3 から 2022.04.4 への変更
新しいサーバーのインストールでは、
ReservedCodeCacheSize=640m属性がデフォルトで設定されます。以前の TeamCity バージョンで属性が指定されていた場合は、アップグレード後に手動で更新する必要があります。TW-76238(英語) 号を参照してください。SVNKit が 1.10.8 に更新されました。
2022.04.2 から 2022.04.3 への変更
SVNKit が 1.10.7 に更新されたため、svn+ssh ルートで問題が発生しました。接続が閉じられず、多くのスレッドが生成されました。この問題は、バージョン 2022.04.4 で解決されました。TeamCity 2022.04.3 の問題を修正するには、TW-77134(英語) の問題からプラグインをダウンロードします。
2022.04.1 から 2022.04.2 への変更
潜在的な破壊的な変更はありません。
2022.04 から 2022.04.1 への変更
潜在的な破壊的な変更はありません。
既知の問題
Git プラグインには新しいパフォーマンスの問題(英語)があり、一部の Git リポジトリの変更操作のチェックが遅くなります。この問題を再現するには、VCS ルートで「ブランチ仕様のタグの使用を有効にする」オプションを有効にし、VCS ルートのブランチ仕様で
+:refs/tags/*を指定する必要があります。リポジトリには何千ものタグも必要です。回避策については、TW-76397(英語) を参照してください。
2021.2 から 2022.04 への変更
.NET テストの一般的な識別子形式に準拠するために、TeamCity は .NET アセンブリに異なる形式の名前を使用するようになりました(ファイル拡張子は省略)。2022.04 に更新すると、この形式は、.NET ランナーの
testまたはvstestコマンドを介して起動されたすべてのテストに適用されます。この変更の結果として、これらのテストの調査、ミュート、履歴がリセットされる場合があります。TeamCity は、Microsoft Edge Legacy(英語) Web ブラウザーのサポートを停止します。
サーバーでキュー制限に達すると、RESTAPI を介したビルドのトリガーは無効になります。
Ant が 1.8 より前の Java バージョンで開始された場合、Ant のタスクの TeamCity レポートは無効になります。
Windows 2004 ベースの docker images では for 2022.04 バージョンは公開されません。
log4j v1.2 を log4jv2.17 に置き換えました(TW-47084(英語) を参照)。
外部プラグインの更新
一部の一般的な外部プラグインは TeamCity 2022.04 と互換性がなく、アップグレードする前に更新する必要があります。
これらのプラグインの新しいバージョンを JetBrains マーケットプレイスからダウンロードします。
同梱ツールの更新
TeamCity REST API のバージョン 2017.1 および 2017.2 がバンドル解除されました。スクリプトでこれらのバージョンのいずれかを使用している場合は、ここで説明されているように、最新のプロトコルバージョンに切り替えることを検討してください。切り替えがオプションではなく、これがセットアップの重大な変更である場合は、便利なフィードバックチャネルを介してご連絡ください。
TeamCity エージェント Docker イメージの更新:
バンドルされている .NETCoreSDK が 6.0.100 に更新されました。
.NETCoreRuntime の 2 つのバンドルバージョンは 3.1.21 および 5.0.12 です。
バンドルされている Git がバージョン 2.36.0 に更新されました
バンドルされている Java がバージョン 11.0.15.9.1 に更新されました
バンドルされている IntelliJ IDEA がバージョン 2021.2.3 に更新されました。このバージョンには Java 11.x が必要であることに注意してください。以前に追加された IntelliJ インスペクション /Duplicates ステップは、バンドルされたバージョンで、バージョン 11 より前の Java を実行しているエージェントと互換性がなくなります。
TeamCity DSL で使用されていたバンドルされた Kotlin コンパイラーがバージョン 1.6.21 に更新されました
シンプルビルドツール (Scala) プラグインで使用される SBT(英語) ランチャーは、バージョン 1.5.5 に更新されました。
TeamCity 通知テンプレートで使用される Freemarker は、バージョン 2.3.31 に更新されました。
Qodana プラグインは TeamCity にバンドルされています。以前に Qodana プラグインをインストールして DSL を使用していた場合は、DSL 設定を更新する必要があります。新旧両方の Kotlin DSL 設定(英語)を含む特別バージョンのプラグインを提供しています。すべての非推奨設定にはマークが付けられ、代替設定が提供されます。移行後、このプラグインを削除して、TeamCity にバンドルされているバージョンを使用できます。
CVS プラグインは TeamCity から分離されました。サーバーで引き続き使用したい場合は、JetBrains マーケットプレイスからダウンロード(英語)し、ここの説明に従ってインストールしてください。
Eclipse プラグインは、TeamCity からバンドル解除されました。プラグインが必要な場合はサポートにお問い合わせください(英語)。
2021.2.2 から 2021.2.3 への変更
一部のセキュリティスキャナーからの誤検知レポートを回避するために、TeamCity では脆弱なクラスのない Log4j 1.2 ライブラリのインスタンスを使用するようになりました。これを実現するために、GitHub 上に Log4j1.2 の独自のフォーク(英語)を作成し、TeamCity (
net、chainsaw、jdbc、jmx) で使用されていない脆弱なパッケージを削除して、ライブラリを構築しました。
既知の問題
2021.2.3 にアップグレードした後、ビルドが SSH 経由で Azure DevOps (サーバーとサービスの両方) の git リポジトリからソースをチェックアウトできない場合があります。詳細については、関連する問題(英語)を参照してください。
この問題が発生した場合は、問題(英語)からの回避策を適用してください。MSBuild スクリプトのコマンドを使用したビルドで、アーティファクトやビルド番号の公開に失敗する場合があります。この問題は、ビルドログの詳細レベルを「通常」に変更することで回避できます。そのためには、
msbuild.logger.params構成パラメーターをverbosity=normalに設定してください。または、修正済みの .NET プラグインをこちらから(英語)ダウンロードし、サーバーに手動でインストールすることもできます。
2021.2.1 から 2021.2.2 への変更
.NET アセンブリ名の形式を変更しました
.NET テストの共通識別子形式に準拠するために、TeamCity では、.NET アセンブリの名前に異なる形式 (ファイル拡張子を省略) が使用されるようになりました。2021.2.2 に更新すると、この形式は .NET ランナーのtestまたはvstestコマンドで起動されるすべてのテストに適用されますが、これらのテストの調査と履歴はリセットされる可能性があります。.NET の共通識別子形式の変更の詳細については、Microsoft ドキュメントを参照してください。
同梱ツールの更新
TeamCity エージェント Docker イメージの更新:
バンドルバージョンの .NETCoreSDK が 6.0.100 に更新されました。
.NET Core ランタイムの 2 つのバージョン(3.1.21 および 5.0.12)がバンドルされています。
2021.2 から 2021.2.1 への変更
.NET テストの一般的な識別子形式に準拠するために、TeamCity は .NET アセンブリに異なる形式の名前を使用するようになりました(ファイル拡張子は省略)。2021.2.1 に更新した後、この形式は .NET ランナーの
testまたはvstestコマンドを介して起動されたすべてのテストに適用されますが、これらのテストの調査と履歴はリセットされる可能性があります。パラメーター化された .NET テストが .NET ランナーの
testコマンドで起動された場合、TeamCity はそれらを複数の実行を伴う単一のテストとして表示しますが、以前はそれらを個別にカウントし、テストタブにテストごとのパラメーターの値を表示しました。
以前の動作に戻すには、.NET プラグインの修正バージョン(英語)をダウンロードし、ここで説明されているようにインストールしてください。
同梱ツールの更新
Perforce P4 (Helix Core) クライアントがバージョン 2021.2/2201121 に更新されます。
2021.1 から 2021.2 への変更
2021.2 にはデータコンバーターはありません
TeamCity 2021.2 は、バージョン 2021.1 と比較して新しいデータ形式を導入せず、データコンバーターを含みません。これにより、これらのバージョン間のアップグレード / ダウングレードが簡素化され、高速化されます。
2021.2 既知の問題
2FA が有効になっている ReSharper および Eclipse から実行されたリモートは使用できません
TeamCity アカウントに二要素認証を設定したユーザーは、ReSharper および Eclipse からリモートで TeamCity ビルドを一時的に実行およびデバッグできません。これらのツールから実行されるリモートの使用がパイプラインにとって重要な場合は、サーバーで 2FA がオプション (デフォルトオプション) に設定されていることを確認して、ユーザーがいつでも自分のアカウントで 2FA を無効にできるようにします。決定論的なソースパスが有効になっているため、.NET ビルドが失敗する場合があります
.NET の手順を使用したビルドは、「DeterministicSourcePaths が true の場合、SourceRoot 項目には少なくとも 1 つの最上位 (ネストされていない) 項目が含まれている必要があります」エラーで失敗する場合があります。このエラーは、予想されるパスの形式 (deterministic(英語)) とプロジェクトで使用されているアプローチ (おそらくソースへの絶対パス) との競合によって発生します。
回避策として、/p:ContinuousIntegrationBuild=falseコマンドライン引数を追加して決定論的なソースパスを無効にするか、ここで説明されているように修正された .NET ランナーをダウンロードしてインストールすることを検討してください。.NET バージョンが \< 6.0 で、ビルドエージェントへのパスに空白が含まれている場合、.NET ビルドは失敗する
OS パスに空白があり、使用されている .NET バージョンが 6.0 より前のビルドエージェントで .NET ステップを使用してビルドを実行すると、ビルドは " 指定できるプロジェクトは 1 つだけです " エラーで失敗します。
回避策として、.NET 6.0 に切り替えるか、ここ(英語)で説明するように固定の .NET ランナーをダウンロードしてインストールすることを検討してください。特殊文字を含む .NET パラメーターを渡すときの無効なプロパティエラー
.NET ランナー経由で .NET コマンドを実行すると「プロパティが無効です」エラーが発生する場合は、渡されるシステムパラメーターを調整する必要がある可能性があります。バージョン 2021.2 以降、.NET ランナーはパラメーター内の特殊文字をエスケープしなくなりました。この新しいアプローチでは、パラメーターのリストを渡すことができますが、既存のパラメーターにそのような特殊文字が含まれている場合はエラーが発生する可能性があります。
この問題を解決するには、渡されるパラメーターを修正および調整してください。パラメーター内で発生するすべての特殊文字 を必ずエスケープしてください。Microsoft Azure エージェントの自動起動 / 停止が失敗する
Microsoft Azure クラウドで実行されているビルドエージェントは、自動的に開始 / 停止できず、タイムアウト後に「停止がスケジュールされています」状態でフリーズすることがあります。
Azure プラグインでこの問題を回避するには、teamcity.kotlinCoroutinesPool.configurator.enabled=false内部プロパティを設定してください。この問題は、次のバグ修正アップデートにアップグレードすると自動的に解決されます。Ruby Environment Configurator を使用したビルドには、互換性のあるエージェントがありません
ビルド構成で Ruby 環境コンフィギュレータ機能を有効にすると、env.AAAAエージェント要件が追加されます。この環境変数を持たないビルドエージェントは互換性がないとマークされ、TeamCity はそれらのエージェントでこのビルドを実行できなくなります。
この問題を回避するには、ここ(英語)で説明されているように、Ruby プラグインを修正バージョンに更新してください。この問題は、次のバグ修正アップデートにアップグレードすると自動的に解決されます。DSA/DSSSSH キーは TeamCity 2021.1.4 および 2021.2 では使用できません
これらのバージョンのいずれかにアップグレードすると、DSA/DSS 形式の SSH キーは「ssh-dss は ID の公開鍵タイプとして使用できません」エラーで拒否されます。
TeamCity で引き続き使用するには、この回避策(英語)に従ってください。Git LFS 3.0.0 からファイルをフェッチするときの UnknownHostException
Git LFS 3.0.0 からエージェントをビルドするためにファイルをフェッチすると、ユーザーはjava.net.UnknownHostExceptionエラーを受け取る可能性があります。このバージョンは、純粋な SSH プロトコルに切り替わりました(英語)。このプロトコルによれば、ホスト名の前に—が追加されます。TeamCity が SSH 接続に使用する JSch ライブラリはそれらをサポートしておらず、これらのシンボルをホスト名の一部として扱います。
この問題を回避するには、teamcity.git.use.native.ssh=trueビルド構成パラメーターを設定してください。または、Git LFS を 3.0.0 より前のバージョンに一時的にダウングレードすることもできます。この問題は TeamCity 2021.2.1 で修正される予定です。.NET プロファイリングが有効になっている場合、C# スクリプトのビルドが失敗する可能性があります
プロファイリングを有効にした .NET で C# スクリプトステップを含むビルドを実行すると、「CoreCLR、HRESULT の作成に失敗しました: 0x80004005」エラーが発生する場合があります。この問題は、.NET が Docker コンテナー内または Windows Subsystem for Linux(WSL) 内で起動された場合にのみ発生します。
この問題を回避するには、ビルド構成に環境変数COMPlus_EnableDiagnostics=0を追加します。Amazon EC2 スポットフリートプロファイルを作成するときに、TeamCity がクラウドクライアントの初期化に失敗する
Amazon EC2 スポットフリートのクラウドプロファイルを作成するときに、ユーザーに「クラウドクライアント 'amazon' の初期化に失敗しました。構成の解析中に例外が発生しました」エラーが表示される場合があります。このエラーは、現在のフリートのインスタンスタイプ要件(英語)で「コンピューティング要件に一致するインスタンス属性を指定します」オプションが有効になっている場合にのみ発生します。
この問題を回避するには、TeamCity にアップロードする前に、フリートの JSON 構成ファイルからInstanceRequirementsブロックを削除してください。この問題は TeamCity 2022.1 で修正される予定です。AWS KMS が使用されている場合、ビルドはアーティファクトを Amazon S3 に公開できない可能性があります
2021.2 にアップデート後、AWS KMS(英語) キーで暗号化された Amazon S3 バケットにアーティファクトを公開しようとすると、ビルドが失敗する場合があります。この問題は、最近追加されたビルドアーティファクトの整合性チェックが原因です。プロジェクト内でこの整合性チェックを一時的に無効にして問題を回避するには、プロジェクトレベルでteamcity.internal.storage.s3.upload.enableConsistencyCheck=falseプロパティを設定してください。
この問題は TeamCity 2021.2.3 で修正される予定です。
キャンセルされた双方向エージェント - サーバー通信プロトコル
双方向エージェント - サーバー通信プロトコルのサポートは停止されます。バージョン 2021.2 以降、エージェントは単方向プロトコルを介してサーバーに排他的に接続します。
TeamCity を、単方向サポートが最初に導入された 9.1 より前のバージョンから 2021.2 にアップグレードするには、次のいずれかの方法を使用します。
サーバーをバージョン 2021.1 にアップグレードし、すべてのエージェントもアップグレードされるまで待ってから、サーバーを 2021.2 にアップグレードします。
サーバーをバージョン 2021.2 にアップグレードし、古いエージェントを手動でアンインストールしてから、新しいエージェントをインストールします。
Perforce 自動ラベルがデフォルトになります
Perforce ルートに VCS ラベリングを使用する場合、TeamCity がデフォルトで自動ラベル(英語)を作成するようになったことに注意してください。静的ラベルを引き続き使用する場合は、teamcity.perforce.useStaticLabels=true 内部プロパティを追加することで以前の動作に戻すことができます。
ビルドチェーンクリーンアップの不整合を修正しました
以前は、依存構成に、保存するように設定された別のビルド構成へのスナップショット依存関係がある場合、アーティファクト依存関係構成内のビルドはクリーンアップされませんでした。例: C のアーティファクトが B に依存し、スナップショットが A に依存し、A が保存されるように設定されている場合、C で " アーティファクトの依存関係を維持する " オプションが有効になっていても、B はクリーンアップされませんでした。現在、アーティファクト依存関係構成 (C) 内のビルドは、クリーンアップルールに完全に従って適切にクリーンアップされます。
この修正により、意図した動作が復元されますが、クリーンアップ設定を確認して、アップグレード後にビルドが予期せずクリーンアップされないようにすることをお勧めします。
TeamCity サーバー 2022.04 での Java 8 の非推奨の計画
TeamCity 2021.2 サーバーは Java バージョン 8 および 11 をサポートしますが、Java 8 のサポートは TeamCity 2022.04 で廃止されますは 2022 年 4 月にサポートされます。バンドルされていないバージョンの Java 8 を使用する場合は、2022.04 がリリースされるまでサーバーを Java 11 に移行することを強くお勧めします。
TeamCity は Java 17 と互換性がないため、Java 11 は TeamCity サーバー 2022.04 でのサポートが計画されている唯一のバージョンであることに注意してください。
同梱ツールの更新
バンドルされている Amazon Corretto Java は、Windows および Linux 用の TeamCity サーバーおよびエージェント Docker イメージでバージョン 11.0.12.7.1 に更新されました。
バンドルされている Tomcat がバージョン 8.5.72 に更新されました。
同梱の JaCoCo をバージョン 0.8.7 にアップデートしました。
バンドルされた Ant は、バージョン 1.10.11 に更新されました。
TeamCity DSL で使用される、バンドルされた Kotlin コンパイラーがバージョン 1.5.31 に更新されました。
バンドルされている dotCover ツールがバージョン 2021.2.2 に更新されました。
次の通知プラグインはアクティブに使用されなくなったため、TeamCity からバンドル解除されました。
RSS フィードのサポート (英語)
TeamCity 2021.2 でこれらの機能を使用するには、上記のリンクから必要なプラグインをダウンロードし、ここで説明されているようにインストールする必要があります。
2021.1.3 から 2021.1.4 への変更
Linux 用の TeamCity エージェント Docker イメージ(英語)の更新:
Git はバージョン 2.25.1 に更新されます。
Perforce P4 (Helix Core) クライアントがバージョン 2021.1/2179737 に更新されます。
2021.1.2 から 2021.1.3 への変更
潜在的な破壊的な変更はありません。
2021.1.1 から 2021.1.2 への変更
ビルドチェーンの一部である個人ビルドを実行すると、そのすべての依存関係ビルドも個人ビルドとして実行されるようになります。
ただし、依存関係設定で適切なビルドの再利用を有効にすると、TeamCity は可能な限りチェーンを最適化しようとします。個人的な依存関係ビルドを実行しても価値がないか、チェックアウトルールに矛盾する場合、TeamCity は代わりに完成した非個人的なビルドを使用します。
2021.1 から 2021.1.1 への変更
潜在的な破壊的な変更はありません。
既知の問題
Git サブモジュール(英語)を使用するビルドは、「エージェントでチェックアウトを実行できませんでした」エラーで失敗する可能性があります。これを防ぐには、
.gitmodulesで使用されているサブモジュールごとにブランチを設定する必要があります。
この問題はバージョン 2021.1.2 で修正される予定ですが、修正された Git プラグインをこちらから(英語)ダウンロードしてインストールすることもできます。
その他の更新
2020.2.x から 2021.1 への変更
潜在的な破壊的な変更はありません。
既知の問題
名前に
.(ドット) 文字が含まれる NuGet パッケージをロードしようとすると、ビルドログに「適切な表現が見つかりません」という例外が表示されます。これは、新しいパフォーマンス最適化アルゴリズムの問題によって発生します。このアルゴリズムでは、ファイル名が最初のドットの前の部分まで切り捨てられます。この問題を回避するには、修正された NuGet サポートプラグインをここから(英語)ダウンロードし、管理 | プラグインにアップロードしてください。または、teamcity.nuget.feed.async.request.enabled内部プロパティをfalseに設定して、新しい最適化モードを一時的に無効にすることもできます。ただし、このプロパティは、TeamCity 2021.1.1 にアップグレードした後は削除する必要があることに注意してください。
Git Use Mirrors は非推奨になり、チェックアウトポリシーが採用されます
Git VCS ルートには、ミラーを使用するチェックボックスに代わる新しいチェックアウトポリシーオプションが追加され、柔軟性が向上しました。アップグレードすると、ルートの設定は選択された状態を維持します。ただし、Kotlin DSL 仕様の Git ルートの設定は更新する必要があります。
Git VCS ルートの Kotlin DSL の useMirrors パラメーターは非推奨となり、次の値をサポートする checkoutPolicy パラメーターに置き換えられました: AUTO (デフォルト)、USE_MIRRORS、NO_MIRRORS、SHALLOW_CLONE
非推奨の非ポータブル Kotlin DSL
ポータブルでない Kotlin DSL 形式は非推奨です。この形式で新しいプロジェクトを作成することはできなくなりました。互換性のために、この形式ですでに保存されているプロジェクトは引き続き機能します。
Windows インストーラーのデフォルトポートを変更しました
Windows 用の TeamCity インストーラーのデフォルトポートが 8111 に変更されました。現在、tar.gz インストーラーと exe インストーラーの両方が同じポートを使用します。
または Lucene 検索のデフォルト演算子として
TeamCity Lucene ベースの検索は、デフォルトで AND の代わりに OR 演算子を使用するようになりました。これはデフォルトの Lucene 構文に対応し、検索動作を最適化し、インデックスサイズを削減できます。
デフォルトで SVG ビルドステータスアイコン
デフォルトの http://<TeamCity Server host>:<port>/app/rest/builds/<buildLocator>/statusIcon REST API エンドポイントで利用できるビルドステータスアイコンは、PNG ではなく SVG 形式で提供されるようになりました。既存のスクリプトとの互換性を保つため、statusIcon.svg エンドポイントも引き続きサポートされています。
PNG アイコンを取得するには、statusIcon.png エンドポイントを使用します。
バンドルされていない古いバージョンの RESTAPI
REST API の古いバージョン 6.0、7.0、8.1、9.0、9.1 はバンドル解除されました。この変更によりセットアップに問題が発生した場合は、フィードバックチャネルを通じてご連絡ください。
付属ツールのアップデート
バンドルされている Amazon Corretto Java は、TeamCity サーバー Docker イメージおよび Windows インストーラーでバージョン 11.0.11.9.1 に更新されました。
同梱の Ant をバージョン 1.10.10 にアップデートしました。このバージョンには Java 8 以降が必要であることに注意してください。
同梱の dotCover、ReSharper CLT をバージョン 2021.1.2 にアップデート。
同梱の JaCoCo をバージョン 0.8.6 にアップデートしました。
TeamCity DSL で使用される、バンドルされた Kotlin コンパイラーがバージョン 1.4.32 に更新されました。
Kotlin スクリプトビルドランナーで使用される、バンドルされている Kotlin がバージョン 1.5.0 に更新されました。
Git プラグインで使用される JGit バージョンが 5.10.0.202012080955-r に更新されました。
Subversion VCS ルートで使用される SVNKit がバージョン 1.10.3 に更新されました。
その他の更新
設定とツールページはプロファイルに名前が変更されました。
2020.2.3 から 2020.2.4 への変更
NuGet 依存関係トリガーで使用される NuGet の検証
NuGet との統合が安全であることを確認するために、TeamCity は、Windows で NuGet 依存関係トリガーを使用してビルドを開始するときに、信頼できる NuGet インストーラーが使用されているかどうかを確認するようになりました。トリガーが管理 | ツール経由でインストールされた NuGet バージョンを使用する場合、この検証はスムーズに行われ、ユーザーの操作は必要ありません。それ以外の場合は、「NuGet 依存トリガーの問題」エラーが発生する可能性があります。推奨される解決策は、影響を受けるすべてのトリガーを、TeamCity UI 経由で定期的にインストールされている NuGet バージョンに切り替えることです。このようなバージョンは、トリガーの設定の NuGet.exe ドロップダウンメニューに自動的に表示されます。または、カスタム NuGet 実行可能ファイルを使用する必要があり、それを絶対に信頼する必要がある場合は、次の内部プロパティを指定してホワイトリストに追加できます。
SSH ランナー: デフォルトキーによる認証の変更
このバージョンでは、SSH Exec および SSH アップロードビルドランナーのデフォルトの秘密鍵を使用した SSH 認証の動作を変更しました。以前は、ビルド中に SSH 経由で認証する場合、ビルドエージェントはエージェントの SSH 構成で構成されたユーザー名を使用するか、それがない場合はこのエージェントを実行する OS ユーザーの名前を使用していました。ビルドステップの設定にあるオプションのユーザー名フィールドの値は常に無視されていました。現在、この値が指定されている場合、エージェントは SSH 認証に SSH 構成の値ではなくその値を使用します。
以前にビルド手順内で直接 SSH ユーザー名を構成していて、これらの手順でデフォルトの秘密鍵認証方法が選択されている場合は、このユーザー名がまだ関連性があり、認証が成功していることを確認してください。
2020.2.2 から 2020.2.3 への変更
付属ツールのアップデート
TeamCity エージェント Docker イメージ(英語)では、Docker はバージョン 19.03.14 に更新され、Docker Compose はバージョン 1.28.5 に更新されました。
シンプルビルドツール (Scala) プラグインで使用される SBT(英語) は、バージョン 1.4.7 に更新されました。
2020.2.1 から 2020.2.2 への変更
IntelliJ プラットフォームの互換性
IntelliJ IDEA バージョン 2019.2 以前、および IntelliJ プラットフォームバージョン 193 より前にリリースされた他の IntelliJ ベースの製品は、IntelliJ プラットフォームプラグインではサポートされなくなりました。詳細については、バージョン互換性の表を参照してください。
付属ツールのアップデート
TeamCity DSL で使用されている Kotlin がバージョン 1.4.21 に更新されました。
その他の更新
teamcity.tests.recentlyFailedTests.fileシステムプロパティには、最近失敗したテストを含むファイルへのフルパスが含まれており、カスタムビルドランナーでリスクテストを並べ替える(英語)ために使用できます。以前は、常にデフォルトで生成されていました。現在は、使用されているビルドランナーがテスト実行を並べ替えるように設定されているか、teamcity.internal.tests.provide.recentlyFailedTestsパラメーターがtrueに設定されている場合にのみ提供されます。
2020.2 から 2020.2.1 への変更
潜在的な破壊的な変更はありません。
既知の問題
TeamCity サーバーの Windows Docker イメージでは、UI からサーバーを再起動することはできません。コマンドラインからサーバーを停止および起動する方法を参照してください。
TeamCity サーバーの Linux Docker イメージの重大な変更: デフォルトでは root 以外のユーザー
エージェント Docker イメージ、TeamCity サーバー Docker Linux のイメージは、デフォルトで非ルートユーザーで実行されるようになりましたに適用したセキュリティ慣行に従います。
デフォルトユーザーで Linux イメージを実行しようとすると、「許諾が拒絶されました」エラーが発生します。これを防ぐには、ホストデータディレクトリの所有権を変更する必要があります。必要なボリュームに適用された chown -R 1000:1000 を実行します。大きなディレクトリの場合、この操作には時間がかかり、ディスクのパフォーマンスが低下する可能性があります。
あるいは、docker run コマンドに -u 0 パラメーターを渡すことで、コンテナーをルートユーザーで起動することもできます。これは、ディレクトリの所有権を変更する時間を節約できる簡単な回避策です。ただし、長期的には chown アプローチを使用することをお勧めします。
dotnetrun コマンドラインパラメーターの自動接頭辞はありません
このバージョン以降、.NET ビルドランナーは dotnet run パラメーターの前に -- を適用しませんになります。以前は、ランナーによってこの接頭辞が自動的に追加されていたため、カスタムオプションを run コマンドに渡すことができませんでした。これを修正するために、以前の動作を無効にしました。
残念ながら、影響を受ける .NET ビルドステップは、アップグレード時に自動的に変換できません。いずれかのステップで実行中の .NET アプリケーションに引数を渡す場合は、必ずこれらのステップを変更し、それぞれのパラメーターの前に -- を追加してください。
付属ツールのアップデート
バンドルされている Tomcat がバージョン 8.5.61 に更新されました。
2020.1.x から 2020.2 への変更
PostgreSQL データベースを使用する TeamCity サーバーの場合、JDBC ドライバーを 42.x バージョンにアップグレードする必要があります。そうしないと、重大なパフォーマンスの低下が発生する可能性があります。
既知の問題
OptimizeAndCleanupIdsGroupsTableConverter のエラーでアップグレードが失敗した場合は、この問題(英語)で説明されている回避策を適用してください。
TeamCity エージェント
latestタグ付きの Docker イメージは、Docker をバンドルしません。
TeamCity 2020.2 エージェントで Docker を実行できるようにするには、代わりに{TEAMCITY_VERSION}-linux-sudoタグ付きのteamcity-agentイメージをダウンロードしてください。詳細については、Docker Hub ドキュメント(英語)を参照してください。
デフォルトの新しいヘッダー
新しいヘッダーは、クラシック UI と Sakura UI の両方で有効になります。以前のヘッダー用に開発された一部のプラグインは、新しいヘッダーでは機能しない場合があります。新しい API(英語) を使用すると、カスタムプラグインを新しいヘッダーと互換性を持たせたり、最新の Web テクノロジーを使用して新しいプラグインを作成したりできます。
このヘッダーに貴重な情報やアクションを表示するのに問題があり、プラグインの更新が便利なオプションではない場合は、teamcity.ui.useClassicHeader=true 内部プロパティを設定できます。これにより、TeamCity ヘッダーが前のビューに切り替わります。将来のバージョンで廃止されたヘッダーを無効にする可能性があるため、これは推奨される解決策ではないことに注意してください。
ビルド検索のインデックスの再作成
TeamCity 検索の Lucene バージョンが 8.5.1 に更新されました。アップグレード時に、TeamCity はサーバー上のすべてのビルドのインデックスを再作成します。これには時間がかかり、CPU に負荷がかかる可能性があります。インデックスの再作成中に、一部のビルドが検索結果に表示されない場合があります。
バンドルされた Python ランナー
外部の Python ビルドランナー(英語)はサポートされなくなりました。既存のビルドステップはすべて引き続き正常に動作しますが、既存の Python ステップを新しいバンドルランナーに切り替えることをお勧めします。
Gradle の更新
以前は、Gradle ランナーのファイルのビルドフィールドはデフォルトで
build.gradleに設定されていました。一部のユーザーはビルドファイルのカスタム名に依存しており、Gradle にどのファイルを選択するかを決定させることを好むため、このデフォルト値は削除されました。
Gradle ステップでビルドファイルとしてbuild.gradleが選択された場合、この設定はそのまま残ります。設定が VCS に保存されているプロジェクトでは、TeamCity はそれぞれの変更をコミットするように要求し、バージョン管理されたプロジェクト設定でbuild.gradleプロパティが明示的に指定されるようにします。Gradle ランナーは、それぞれのテストメソッドに割り当てられた
displayNameプロパティに基づいてテスト名を表示するようになりました。Gradle テストにカスタムdisplayNameプロパティのアノテーションが付けられている場合(たとえば、@DisplayNameアノテーションの付いた JUnit 5 テスト)、アップグレード時に TeamCity でそれらの名前が変更されます。これにより、それぞれのビルドのテストと調査の履歴が破損する可能性があります。これを防ぐには、teamcity.internal.gradle.testNameFormat=name内部プロパティを使用して動作を元に戻すことを検討してください。
セカンダリノードの新しい責任
バージョン 2019.2 以降、セカンダリノードには少なくとも 1 つの責任が割り当てられている場合、ユーザーアクションが許可されます。2020.2 では、新しい責任「データ変更のユーザーリクエストの処理」が追加されます (バージョン 2023.05 の更新では、この責任は「UI アクションの処理とユーザーリクエストの負荷分散」に名前が変更されます)。この責任を持つノードは、現在サポートされているすべてのユーザーアクションを処理し、プロジェクト設定の変更を許可できます。この責任がない場合、ノードは読み取り専用インターフェースを提供します。
アップグレードすると、この責任は、少なくとも 1 つの他の責任を持つすべてのセカンダリノードで自動的に有効になります。これにより、これらのノードの現在の機能が影響を受けなくなります。新しいセカンダリノードでユーザーアクションを許可するには、管理 | サーバー構成で新しい責任を手動で有効にする必要があります。
同梱ツールの更新
TeamCity サーバーおよびエージェント Docker イメージ (Windows と Linux の両方) の .NET がバージョン 3.1.403 に更新されました。
TeamCity の Java Docker イメージが更新されました。
Windows サーバーイメージの場合: Amazon Corretto x64v.11.0.9.11.2 へ
Linux サーバーイメージの場合: Amazon Corretto x64 v.11.0.9.11。
Windows および Linux エージェントイメージの場合: Amazon Corretto x64 v.8.272.10.3
TeamCity サーバーおよびエージェントの Windows インストーラーにバンドルされている Java がバージョン 11.0.9.11.2 に更新されました。
バンドルされている Tomcat がバージョン 8.5.57 に更新されました。
TeamCity サーバー Docker コンテナー内の SACWindows イメージがバージョン 2004 に更新されました。WindowsLTS バージョンは TeamCity 2020.1 と同様に 1809 です。
TeamCity サーバー Docker コンテナー内の Linux イメージがバージョン 20.04 (LTS) に更新されました。
バンドルされた dotCover および ReSharper CLT は、バージョン 2020.2.4 にアップグレードされました。
非推奨の Visual Studio 2003 ビルドランナーは TeamCity で無効になっています。代わりに .NET ランナーを使用することをお勧めします。
VS 2003 ランナーを積極的に使用していて、.NET ランナーに簡単に移行できない場合は、フィードバックチャネル(英語)のいずれかを介してお知らせください。TeamCity の新規インストールで推奨される外部データベース用の JDBC ドライバーは、次のバージョンに更新されました。
MySQL - 8.0.22
MSSQL - 8.4.1
PostgreSQL - 42.2.18
その他の更新
GitHub の問題を検出すると、TeamCity は、問題が割り当てられていないプルリクエストをフィルター処理するようになりました。このような独立したプルリクエストを問題ログに表示する必要がある場合は、
teamcity.issues.github.filter.pull.requests=false内部プロパティを設定することでこのフィルターを無効にすることができます。メール通知は、現在の TeamCity サーバーの JVM でサポートされているものと同じバージョンの TLS プロトコルを使用するようになりました。
2020.1.4 から 2020.1.5 への変更
潜在的な破壊的な変更はありません。
2020.1.3 から 2020.1.4 への変更
付属ツールのアップデート
バンドルされている Amazon Corretto Java は、TeamCity サーバーインストーラーと Docker イメージでバージョン 11.0.8 に更新されました。
バージョン 2020.1.2 で削除された Mercurial は、Windows Server Core エージェントの Docker イメージで再びサポートされます。
2020.1.2 から 2020.1.3 への変更
.NET ビルドランナーは、Visual Studio および MSBuild の以前のバージョンをサポートするようになりました。現在サポートされているバージョンは、Visual Studio 2010 以降、MSBuild 4 / 12 以降です。
既知の問題
別のビルドにアーティファクト依存関係があり、スナップショット依存関係がないビルドを再実行しようとすると、ビルドを再実行ダイアログは読み込まれません。
この問題は TeamCity 2020.1.4 で修正される予定です。バージョン 2020.1.3 でこの問題を回避するには、この手順(英語)に従ってください。
2020.1.1 から 2020.1.2 への変更
Windows ServerCore エージェントの Docker イメージの Mercurial サポートは終了しました。Windows Server Core エージェントで Mercurial を使用する必要がある場合は、以前のバージョンのエージェント Docker イメージである 2020.1.1 をプルすることを検討してください。
2020.1 から 2020.1.1 への変更
.NET ランナーではカスタムコマンドオプションが導入されています。カスタム .NET コマンドを設定した後に TeamCity を以前のバージョンにダウングレードすると、ビルド中に該当するビルドステップが無視されることに注意してください。
TeamCity サーバーおよびエージェント Docker イメージで使用される Linux バージョンが 4.19.76-linuxkit に更新されました。
既知の問題
TeamCity クラシック UI では、ヘッダーのプロジェクトリンクに展開ボタンがありません。
この問題を回避するには、ここで説明されている手順に従ってください。
2019.2.x から 2020.1 への変更
潜在的な破壊的な変更はありません。
既知の問題
Jira クラウド統合ビルド機能には特定の VCS URL が必要
新しい Jira クラウド統合ビルド機能で使用される Jira クラウド API では、サーバー URL を特定の形式で送信する必要があります。そのため、ビルド機能は、Perforce、TFS、SVN などの VCS をそのままではサポートしていません。
この問題に対処するため、原因となっているプラグインを更新しました。このプラグインは、トラッカー内の関連する問題(英語)に添付されています。修正されたプラグインをダウンロードし、こちらで説明されているようにインストールしてください。
バンドルされている Jira Cloud プラグインは、次のリリースでこの修正により自動的に更新されます。
この機能は、Jira CloudAPI で期待される形式に対応しない一部の Git パスの解決にも失敗する可能性があります。この場合、URL を手動で変更するか(たとえば、git@<vcs_address>:<workspace_ID>/<repo_name>.git から ssh://git@<vcs_address>/<workspace_ID>/<repo_name>.git に)、上記のように固定プラグインをダウンロードすることができます。
Jira クラウド統合機能はレガシー Jira クラウドドメインをサポートしていません
現在、新しい Jira クラウド統合ビルド機能は、atlassian.net ドメインのみをサポートしています。担当プラグインの修正バージョンでは、従来の jira.com ドメインのサポートが追加されました。Jira クラウドサーバーが jira.com ドメインにある場合は、関連する問題(英語)に添付されているプラグインをダウンロードし、こちらの説明に従ってインストールできます。
バンドルされている Jira Cloud プラグインは、次のリリースでこの修正により自動的に更新されます。
Slack での認証時の不正なリダイレクト URI エラー
TeamCity から Slack にサインインできるようにするには、Slack アプリ設定で TeamCity サーバーの可能なすべての URI をリダイレクト URL として指定する必要があります。
nginx を使用してプロキシサーバーの背後に TeamCity を設定すると、Slack との接続を確立しようとすると、bad_redirect_uri エラーが発生する可能性があります。このエラーは、nginx と Tomcat の設定の不一致によって発生します。
この問題を回避するには、関連する問題(英語)に添付されている修正されたプラグインをダウンロードし、ここで説明されているようにインストールします。または、Tomcat 設定を更新してみてください。
バンドルされている Slack プラグインは、次のリリースでこの修正により自動的に更新されます。
アップグレードされた 2020.1 EAP1 インストールの組み込み認証の問題
早期アクセスプログラムの観点から 2020.1 EAP1 ビルドをインストールした場合、組み込み認証を介した TeamCity へのサインインで問題が発生する可能性があります。この問題は、2020.1 EAP バージョン(EAP1 またはそれ以降にアップグレードされたバージョン)からリリース 2020.1 ビルドにアップグレードした後に発生する可能性があります。
この問題を回避するには、次のクエリを TeamCity データベースに送信してください。
サーバーおよびエージェントでの Java サポートの変更
Java 11 は、Java 8 の代わりに、TeamCity サーバー Windows インストーラーとサーバー Docker イメージにバンドルされています。
TeamCity エージェントは、8 より前のバージョンの Java のサポートを停止します。いずれかのエージェントが以前のバージョンの Java で実行されている場合は、JRE をアップグレードして、これらのエージェントでビルドを引き続き実行できるようにしてください。
環境の新しい形式。JDK_ 環境変数
現在の Java バージョンと将来の Java バージョンとの整合性を高めるために、新しい形式の env.JDK_ 環境変数を導入しました。
2020.1 から始まる形式は次のようになります: env.JDK_<major>_<minor>[_x64] 次に例を示します: env.JDK_1_6、env.JDK_1_7、env.JDK_1_8、env.JDK_11_0_x64
この方法では、かなり古い Java 1.4 を使用している場合、適切な変数は env.JDK_1_4 ですが、Java 14.0 の場合は env.JDK_14_0 が使用されます。
下位互換性のために、env.JDK_16 や env.JDK_18 などの以前の環境変数も生成されますが、これらの変数は TeamCity 自動補完ポップアップメニューには表示されなくなります。
ビルドスクリプトでこれらの環境変数を使用している場合は、新しい形式に移行することをお勧めします。
関連する問題(英語)を参照してください。
プラグインの再コンパイルが必要
一部のビルドランナーを実装するプラグインは、再コンパイル / アップグレードが必要になる場合があります。
対応するカスタムビルドランナーの新しいビルドステップが作成または更新されると、対応するエラーは java.lang.NoSuchMethodError: jetbrains.buildServer.controllers.admin.projects.BuildRunnerBean.getPropertiesBean のようになります。
Checkmarx プラグイン(英語)および SonarQube Runner プラグイン(英語)に関する関連問題を参照してください。
エージェント Docker イメージは非 root ユーザーで実行されます
推奨されるセキュリティプラクティスに準拠するために、TeamCity エージェントの Docker イメージが非 root ユーザーで実行されるようになりました。
この変更は、次のユースケースに影響を与える可能性があります。
標準の TeamCity エージェントイメージに基づいてカスタムイメージを作成 / 更新するには、最初に
rootユーザーに切り替える必要がある場合があります(詳細については、関連する問題(英語)を参照してください)。ホストディレクトリをコンテナーにマウントすると、「許諾が拒絶されました」エラーが発生する可能性があります。この問題を回避するには、次のいずれかの回避策を試してください。
chownコマンドを使用して、ディレクトリの所有者の UID を1000に設定します。docker runコマンドで--user引数を送信して、ホストマシンと同じ UID を Docker ユーザーに設定します。例:docker run -it --user $(id -u) ...を使用します。TeamCity は書き込み可能なディレクトリのボリュームを自動的に作成し、通常は明示的にマッピングする必要がないことに注意してください。権限の問題を防ぐために、明示的な参照を省略することを検討してください。
非推奨の Windows トレイ通知機能
TeamCity Windows Tray Notifier は、新しい Browser Notifier 拡張機能のために廃止されました。
Windows Tray Notifier は引き続き新しいバージョンの TeamCity で動作しますが、代わりに新しい拡張機能を試すことをお勧めします。バージョン 2020.1 以降、TeamCity の設定とツール | 通知ルール | Windows トレイ通知機能タブの名前がブラウザー通知機能に変更されたことに注意してください。
バンドルされた Kubernetes サポートプラグインには Helm ランナーが含まれていません
Kubernetes サポートプラグイン(英語)は TeamCity にバンドルされます。アップグレード時に、TeamCity サーバーにインストールされている場合は、外部プラグインが置き換えられます。バンドルされているプラグインには Helm ビルドランナーが含まれていないことに注意してください。ビルド構成でこのランナーを引き続き使用するには、新しい外部プラグイン(英語)をインストールしてください。
書き込み操作に対する CORS サポートの制限
TeamCity は、CSRF トークンを導入することにより、RESTAPI 統合メカニズムのセキュリティを向上させます。この変更は、書き込み操作でクロスオリジンリソースシェアリング(CORS)に依存し、TeamCity で rest.cors.origins 内部プロパティが有効になっていない限り(デフォルトでは無効になっています)、カスタム統合スクリプトの動作に影響を与えません。
以前は、CSRF 保護は、HTTP リクエストの Origin/Referer ヘッダーの検証とともに TeamCity で提供されていました。TeamCity CSRF 保護を改善するために、この方法は無効にされ、より安全な方法である CSRF トークンが採用されます。このリリース以降、TeamCity は POST/PUT/DELETE RESTAPI リクエストの CORS メカニズムのサポートを停止します。クロスオリジン GET リクエストのヘッダーは以前と同じように処理されますが、CORS 設定が必要です。
必要に応じて、teamcity.csrf.paranoid=false 内部プロパティを設定することにより、CORS 操作を書き込むための Origin/Referer ヘッダーの検証を強制できます。これは一時的で安全性の低いソリューションであることに注意してください。既存のリクエストをリファクタリングして、新しいセキュリティポリシーに準拠し、CSRF ヘッダーまたはパラメーター内にトークンを提供することを強くお勧めします。CSRF トークンは、GET https://your-server/authenticationTest.html?csrf リクエストを介して取得でき、X-TC-CSRF-Token HTTP ヘッダーを介して CORS リクエストの書き込みに提供されます。
付属ツールのアップデート
バンドルされた IntelliJ IDEA がバージョン 2020.1.1 に更新されました。
バンドルされた Ant がバージョン 1.9.14 に更新されました。
バンドルされた Tomcat がバージョン 8.5.54 に更新されました。
バンドルされた Maven がバージョン 3.6.3 に更新されました。
TeamCity DSL で使用される Kotlin がバージョン 1.3.70 に更新されました。
TeamCity の新規インストールで推奨される外部データベース用の JDBC ドライバーは、次のバージョンに更新されました。
MySQL - 8.0.20
MSSQL - 8.2.2
PostgreSQL - 42.2.12
REST API の変更
ブランチ(.../app/rest/testOccurrences?locator=branch(XXX) リクエスト)によるテスト発生のフィルタリングが変更されました。以前は、大文字と小文字を区別するマッチングでブランチ名のみをサポートしていました。現在、XXX 値はブランチロケーターをサポートしています(ビルドのフィルタリング時と同じ)。デフォルトでは大文字と小文字が区別されず、<default> ブランチ表示名と一致します。
その他の変更点
現在、このロールに現在のユーザーのロールよりも多くの権限がある場合、ユーザーは別のユーザーにロールを割り当てることができません。
2020.1 にアップグレードした後、ユーザーが特定のロールを使用できないという問題が発生した場合は、これらのロールに、それぞれのプロジェクト管理者の権限を超える権限が含まれていないことを確認してください。TeamCity は Internet Explorer のサポートを終了しました。代わりに Microsoft Edge をご利用ください。
このバージョン以降、TeamCity 2019.2.3 で導入された新しい .NET ランナーは、古い外部 .NET CLI サポート(英語)プラグイン (バージョン 2017.1 以前で使用) と互換性がありません。以前にこのプラグインをインストールしていた場合は、新しい .NET ランナーを使用できるように、サーバーからアンインストールしてください。
2019.2.3 から 2019.2.4 への変更
潜在的な破壊的な変更はありません。
2019.2.2 から 2019.2.3 への変更
再構築された .NET ビルドランナー
.NET CLI(dotnet) ビルドランナーはリファクタリングされ、.NET に名前が変更されたため、以前は TeamCity に複数のビルドステップとして実装されていたすべての .NET 関連の操作をサポートするようになりました。
既存のすべての .NET CLI(dotnet) ステップは、追加の調整を必要とせずに、新しい .NET 名で通常どおり機能します。
MSBuild、Visual Studio (sln)、Visual Studio 2003、Visual Studio テストランナーのアクティブサポートの提供を停止します。これらの手順は、既存のビルド構成と TeamCity の新しいバージョンとの互換性のために残されています。影響を受けるすべてのビルドステップを .NET ランナーに切り替えて、次のバージョンの新機能とサポートを利用することをお勧めします。
新しい .NET ステップと移行に関する注意事項について詳しくは、.NET の説明を参照してください。
.NET ランナーへの移行で問題が発生した場合、またはその他の関連する問題が発生した場合は、便利なフィードバックチャネルを介して遠慮なくご連絡ください。
既知の問題
SSL 接続の確立時のハンドシェイクの失敗
TeamCity サーバーが SSL 接続を確立しようとすると、「致命的なアラートを受信: handshake_failure」エラーが発生する場合があります。この問題は、TeamCity 2019.2.3 にバンドルされている JRE の壊れた sunec.dll が原因で発生します。
この問題がインストールに影響したかどうかを確認するには、<TeamCity_installation_directory>/jre/bin/sunec.dll ファイルを開きます。このファイルに JSON コードがある場合、サーバーが影響を受けます。この問題を回避するには、関連する問題(英語)に記載されている手順に従ってください。
外部リポジトリの NuGet フィード認証情報が .NET ランナーで機能しない
.NET ビルドランナーは現在、外部リポジトリでの認証に NuGet フィード資格情報を使用することをサポートしていません。
TeamCity 2019.2.3 でこの問題を回避するには、パッチが適用された .NET パッケージサポートプラグイン(英語)をダウンロードし、他の追加プラグインと同様にインストールします。バンドルされている .NET パッケージサポートプラグインは、次のリリースで修正プログラムによって自動的に更新されます。
AWS リージョン us-east-1 は S3 アーティファクトストレージ設定で設定できません
S3 アーティファクトストレージ設定で us-east-1 リージョンが選択されている場合、設定を保存すると、別の使用可能なリージョンに自動的にリセットされます。これは、AWS から us-east-1 に対して返された誤ったバケットの場所が原因です。
TeamCity 2019.2.3 でこの問題を回避するには、パッチが適用された TeamCity S3 ストレージプラグイン(英語)をダウンロードし、他の追加プラグインと同様にインストールします。バンドルされている S3 ストレージプラグインは、次のリリースで修正が自動的に更新されます。
バンドルされた Java for Windows インストーラーが更新されました
TeamCity サーバーとエージェントの Windows インストーラー、および Docker イメージの Java のバンドルバージョンが Amazon Corretto 8.252.09.1(英語) に更新されます。
2019.2.1 から 2019.2.2 への変更
Git サブモジュールのキャッシュ
エージェントのチェックアウトのパフォーマンスを向上させるために、TeamCity はエージェント上の通常の Git リポジトリをキャッシュします。このバージョン以降、Git サブモジュールもキャッシュします。
カスタムスクリプトまたは設定がサブモジュールのメイン代替ソースに依存しており、Git がエラーで動作する場合は、次のいずれかの回避策を検討してください。
ビルドパラメーター
teamcity.internal.git.agent.submodules.useMirrorsをfalseに設定して、新しいミラーリングメカニズムを無効にします。正確なソースディレクトリではなく、親
gitディレクトリを指すようにカスタム設定を変更します。
付属ツールのアップデート
TeamCity Visual Studio アドイン Web インストーラーは、ReSharper バージョン 2019.3.2 に更新されました。
2019.2 から 2019.2.1 への変更
潜在的な破壊的な変更はありません。
2019.1.x から 2019.2 への変更
潜在的な破壊的な変更はありません。
既知の問題
.NET プロジェクトでの NuGet パッケージの復元に関する潜在的な問題
ビルドが少なくとも 1 つの .NET CLI (dotnet) ステップと MSBuild または Visual Studio (sln) ビルドステップ (またはその両方) で構成されている場合、TeamCity は NuGet パッケージの復元に失敗する可能性があります。
この問題は、これらのビルドランナー間のキャッシュディレクトリへのパスの違いによって発生します。
MSBuild および Visual Studio (sln) ランナーは NuGet グローバルキャッシュへの既定のパスを使用しますが、.NET CLI (dotnet) ランナーはこのパスを再定義します (たとえば、Docker コンテナー内で実行する場合)。
推奨される回避策は、パッケージの復元に .NET CLI(dotnet) ランナーの代わりに NuGet インストーラービルドランナーを使用することです。
Windows インストーラーおよび Docker イメージで 64 ビット Bundled Java に切り替える
TeamCity サーバーおよび Agent の Windows インストーラーおよび Docker イメージに含まれる Java のバンドルバージョンは、64 ビット Amazon Corretto(英語) 8 です(以前の TeamCity バージョンは 32 ビット Java にバンドルされ、TeamCity 2019.1 は AdoptOpenJDK にバンドルされました)。
Windows でデフォルトのバンドル Java を使用していた場合は、次の条件が満たされていることを確認してください。
TeamCity サーバーとエージェントは、64 ビットの Windows OS で動作します。32 ビット OS を使用する必要がある場合は、32 ビット Java をインストールして使用し、TeamCity を実行する必要があります。
TeamCity サーバーでメモリ設定が手動で構成されている場合 (
TEAMCITY_SERVER_MEM_OPTS環境変数が定義されている場合)、-Xmxパラメーターの値を増やす必要があります (以前の値の 2 倍にすることをお勧めします)。値を増やす前に、マシンに十分な物理メモリがあることを確認してください。統合 MS SQL 認証を備えた TeamCity データベースとして Microsoft SQL Server を使用する場合、64 ビット
sqljdbc_auth.dllネイティブライブラリが適切な場所に存在する必要があります。サーバー上でネイティブツールを実行するカスタムロジックがあった場合、新しいプロセスビットネスで動作することを確認します。
実行中のビルドノードの廃止
ビルドノードの実行(英語)は廃止されました。マルチノードセットアップでは、代わりに「ビルドの実行によって生成されたデータの処理」の責任を持つセカンダリノードを構成できます。
git fetch memory の自動管理
TeamCity は、git fetch プロセスで使用されるメモリの量を自動的に管理できるようになりました。
以前に teamcity.git.fetch.process.max.memory 内部プロパティを使用して各 VCS ルートでフェッチに使用できるメモリ量を設定していた場合は、これを無効にして、メモリ消費量の検出を TeamCity サーバーに委譲できるようになりました。使用可能なメモリの制限を制御するには、teamcity.git.fetch.process.max.memory.limit プロパティを使用します。
付属ツールのアップデート
バンドルされた IntelliJ IDEA は、バージョン 2019.3 に更新されました。
TeamCity DSL で使用される Kotlin は、バージョン 1.3.60 にアップグレードされました。
TeamCity Linux エージェントイメージの Docker クライアントは、予期しない Docker 停止の問題を防ぐためにバージョン 19.03.3 にアップグレードされました (関連する Docker の問題(英語)を参照)。
Docker Compose はバージョン 1.24.1 に更新されました。
バンドルされた dotCover および ReSharper CLT は、バージョン 2019.2.3 にアップグレードされました。
ClearCase および SourceGear Vault 用のバンドルされていない VCS サポートプラグイン
ClearCase(英語) および SourceGear Vault(英語) の VCS サポートプラグインはバンドル解除されました。TeamCity でこれらの VCS タイプを使用できるようにするには、ここで説明されているように、必要なプラグインをダウンロードしてインストールしてください。
2019.1.4 から 2019.1.5 への変更
TeamCity エージェント Docker イメージ(英語)では、Docker はバージョン 19.0.3 に更新され、Docker Compose はバージョン 1.24.1 に更新されました。
2019.1.3 から 2019.1.4 への変更
バンドルされた Java は OpenJDK 8u222 に更新されました(Docker Windows TeamCity イメージを除く)。
既知の問題
Amazon ECR で使用できないデフォルトの資格情報プロバイダーチェーンオプション
この問題は TeamCity 2019.1.5 で修正されました。
Docker サポートプラグインの最近の変更により、Amazon ECR 接続設定で「デフォルトの資格情報プロバイダーチェーン(英語)」オプションが使用できなくなりました。
一部の ECR 接続でこのオプションが以前に有効になっており、この接続に変更を加えた場合、このオプションの状態は自動的に false に設定されます。ビルドがこの接続を使用しようとすると、「アクセスキーを null にすることはできません」エラーで開始できません。
2019.1.5 にアップグレードせずにこの問題を回避するには、関連する問題(英語)から修正済みの Docker サポートプラグインをダウンロードし、サーバー管理 | プラグインリストページにアップロードします。
NuGet フィードに不足しているパッケージ
この問題は TeamCity 2019.1.5 で修正されました。
特定のケースでは、ビルドで複数の NuGet パッケージを作成して NuGet フィードに公開することになっており、パッケージのインデックス付けが有効になっていると、一部のパッケージがフィードに公開されない場合があります。この問題は、NuGet パッケージインデクサの最近の変更が原因です。
2019.1.5 にアップグレードせずにこの問題を回避するには、関連する問題(英語)から修正済みの NuGet サポートプラグインをダウンロードし、サーバー管理 | プラグインリストページにアップロードします。
2019.1.2 から 2019.1.3 への変更
既知の問題
バージョン設定を使用する場合、VCS から設定をインポートするとビルド履歴が失われる可能性があります。詳細 (英語)
付属ツールのアップデート
バンドルされている ReSharper コマンドラインツール(インスペクションおよび重複ファインダー)は、バージョン 2019.2.1 にアップグレードされています。
2019.1.1 から 2019.1.2 への変更
ビルドノードの実行(英語)は非推奨であり、TeamCity 2019.2 では廃止されます。マルチノードセットアップでは、代わりに「ビルドの実行によって生成されたデータの処理」の責任を持つセカンダリノードを構成できます。
既知の問題
バージョン設定を使用する場合、VCS から設定をインポートするとビルド履歴が失われる可能性があります。詳細 (英語)
Windows エージェントで .NET Core ("dotnet") ステップを使用する場合、エージェントの
C:\Program Files (x86)\dotnetなどの場所に .NET Core ランタイム (SDK ではない) がインストールされていると、".NET SDK が見つかりませんでした " エラーが発生する可能性があります。回避策として、env.DOTNET_HOMEパラメーターを .NET Core SDK の場所に設定します。
詳細については関連する問題(英語)を参照してください。
2019.1 から 2019.1.1 への変更
付属ツールのアップデート
バンドルされている IntelliJ IDEA が 2019.1.3 に更新されました。
バンドルされている ReSharper ツール (インスペクションおよび重複ファインダー) は、2019.1.0-eap08d バージョンにアップグレードされました。
2018.2.x から 2019.1 への変更
Amazon インスタンスの必須タグ
TeamCity によって実行されるすべての Amazon インスタンスにタグが必須になり、インスタンスの識別に役立ちます。Amazon EC2 との統合を使用する場合は、Amazon に ec2:CreateTags (英語) リソースレベルの権限を必ず追加してください。
逆依存関係プロパティの動作の変更
2019.1 以降、 reverse.dep パラメーターの動作が変更され、この変更が既存のビルドに影響を与える可能性があります。2019.1 より前のバージョンでは、ビルドチェーンがトリガーされると、TeamCity は、チェーンの最上位ビルド、つまり他のすべてのビルドに依存するビルドで指定された reverse.dep パラメーターのみを考慮しました。チェーンの中間ビルドに reverse.dep パラメーターが含まれていた場合、それらは無視されました。
この修正(英語)後、これは当てはまらなくなりました。ビルドチェーンがトリガーされると、ビルドチェーンのすべてのノードで指定されたすべての reverse.dep パラメーターが処理されるようになりました。
遅延エージェントツールの読み込み
エージェントツール (エージェントの <agent_installation>/tools ディレクトリにある) は、エージェントのアップグレード時ではなく、それぞれのツールを使用する最初のビルドの直前にエージェントに転送されるようになりました。ビルドに必要なツールを TeamCity が認識できるように、ビルド構成設定を更新する必要がある場合があります。
エージェントでビルドを開始する前に、TeamCity は teamcity.tool.<tool_ID> 構成パラメーターへの参照をチェックし、ビルドで使用されるツールのセットを収集します。このパラメーターを介して何らかのツールが参照されている場合、TeamCity はビルドロジックの実行を開始する前に、このツールがエージェント上に存在することを確認します。
一部のビルドでエージェント上のツールが <agent installation>/tools ディレクトリ下にあると想定して使用されている場合、そのような参照は TeamCity が提供するパラメーター参照に変更する必要があります。TeamCity 設定で使用される <agent_installation>/tools/<tool_ID> などのパスは、%teamcity.tool.<tool_ID>% パラメーター参照に変更する必要があります。例: ../tools/maven3.4.5/bin/mvn は %teamcity.tool.maven3.4.5%/bin/mvn に置き換える必要があります。
ReSharper ツールの .NET ビルド要件の変更
ReSharper ツールで使用される .NET フレームワークバージョンの要件は変更されました。ビルド構成で 2018.2 以降のバージョン(TeamCity 2019.1 にバンドルされているバージョンを含む)の ReSharper ツール(dotCover および ReSharper インスペクション)を使用する場合、エージェントをビルドするための要件は .NET フレームワーク 4.6.1 以降に変更されます。エージェント上で .NET フレームワークを必ず更新してください。
デフォルトで有効なトークンベースの認証
2019.1 にアップグレードすると、トークンベースの認証モジュールがデフォルトで有効になるため、アクセストークンを生成してすぐに使用できるようになります。
新しい CSP ヘッダー値
現在、TeamCity Web UI は、 Content-Security-Policy (英語) HTTP ヘッダーに対してより制限的な値を使用します。これにより、TeamCity サーバーでホストされていない Web リソースの使用を禁止する代わりに、セキュリティが強化されます。
外部リソースに依存している場合 (たとえば、ビルドレポートタブのコンテンツ内や、まだ更新されていないプラグインを使用している場合)、teamcity.web.header.Content-Security-Policy.protectedValue=<full_header_value> 内部プロパティ (および管理領域の Web ページの teamcity.web.header.Content-Security-Policy.adminUI.protectedValue プロパティ) に新しいヘッダー値を指定できます。プラグインは、 ContentSecurityPolicyConfig (英語) オープン API インターフェースを使用して、構成された値に追加できます。
dotCover アーティファクトの変更
dotCover.dcvr の隠しアーティファクトは、デフォルトでは公開されなくなりました。ビルドの一時フォルダーに作成され、ビルドが完了すると削除されます。
dotCover を使用してこのアーティファクトに依存する場合は、アーティファクトパスで %system.teamcity.build.tempDir%\..\agentTmp\dotNetCoverageResults\dotCover.dcvr ファイルへのパスを明示的に指定します。
付属ツールのアップデート
最新の JaCoCo バージョン(0.8.4)が TeamCity に追加されました。
バンドルされている .NET ツール(dotCover および ReSharper CLT)は、最新のリリースバージョン 2019.1.1 にアップグレードされました。
新規 TeamCity インストールで推奨される外部データベース用の JDBC ドライバーは、以下のバージョンに更新されました。
MySQL - 8.0.16
MSSQL - 7.2.2
PostgreSQL - 42.2.5
PowerShell のベータ版に関する注意
PowerShell のベータ版を使用している場合は、PowerShell の新しいリリースをインストールする前に、v6.0.0-beta.9 より前のベータ版をすべて削除してください。PowerShell ディテクターの更新により、古いベータ版がインストールされている場合、TeamCity は新しくリリースされたものの代わりにそれを使用します。
プロセス分離で Docker と Windows Server を使用する場合の注意
プロセス分離で Docker イメージと Windows Server 2019 を使用すると、ビルドエージェントの起動に失敗する可能性があります (詳細は既知の問題を参照してください)。この問題を回避するには、「認証されたユーザー」グループに「フルコントロール」アクセスを許可します。
2018.2.3 から 2018.2.4 への変更
不正なエージェントのページに表示されたデータに関連した TeamCity 2018.2.4 の後退があります: エージェント承認、コメントの有効化 / 無効化、最新の活動時間に関するデータがページから削除されます。このデータはエージェントの詳細ページに表示されます。
パフォーマンスが向上したら、不正なエージェントのページにデータを返します。
2018.2.2 から 2018.2.3 への変更
TeamCity は、1803/1809 プラットフォーム用の Windows Docker イメージを提供します。
既知の問題
完了したビルドがない場合、実行中のビルドはビルド構成ページに表示されません。この問題を回避するには、TeamCity サーバーを停止し、TEAMCITY_DIRECTORY/webapps/ROOT/js/ring/bundle.js をこの問題(英語)に添付されている bundle.js ファイルに置き換えて、サーバーを起動します。
2018.2.1 から 2018.2.2 への変更
バンドルされている Tomcat はバージョン 8.5.3 にアップデートされました
TeamCity エージェントの Docker イメージは .NET Core 2.2 をサポートします
2018.2 から 2018.2.1 への変更
潜在的な破壊的な変更はありません。
2018.1.x から 2018.2 への変更
既知の問題
MoveCustomDataStorageToDatabaseConverter または MoveRepositoryStateToCustomDataStorageConverter でエラーが発生してアップグレードが失敗した場合は、問題(英語)の回避策を適用してください。
同じリポジトリの Subversion 外部を使用している場合、リビジョン検出が正しく行われないという問題が発生する可能性があります。この問題の回避策については、この問題(英語)で説明されています。
org.jetbrains.dokkaをスタックトレースにした状態で TeamCity の起動時に OutOfMemoryError が表示される場合は、内部プロパティteamcity.kotlinConfigsDsl.docsGenerationXmx=768mを設定してください。( この課題(英語)で記述されていたように)
付属ツールのアップデート
バンドルされている .NET ツール(dotCover および ReSharper CLT)は、最新のリリースバージョン 2018.1.4 にアップグレードされました。
TeamCity 2018.2 は IntelliJ IDEA 2018.3.1 にバンドルされています。IntelliJ IDEA プロジェクトランナーは JPS 2018.3.1 を使用
OpenJDK は、Oracle Java の代わりに Windows
.exeTeamCity ディストリビューションにバンドルされています。
NuGet フィード
以前グローバル NuGet フィードへの参照に使用されていたパラメーターは削除されます。アップグレード後、それらはすべてルートプロジェクトのデフォルトの NuGet フィードへの参照パラメーターに変換されます。
まだプロジェクトパラメーターで廃止予定の NuGet フィード参照を使用している場合は、次のように更新してください。
グローバルフィード名 | プロジェクトフィード名 |
|---|---|
teamcity.nuget.feed.server | teamcity.nuget.feed.guestAuth._Root.default.v2 |
teamcity.nuget.feed.auth.server | teamcity.nuget.feed.httpAuth._Root.default.v2 |
system.teamcity.nuget.feed.auth.serverRootUrlBased.server | teamcity.nuget.feed.httpAuth._Root.default.v2 |
2018.1.4 から 2018.1.5 への変更
潜在的な破壊的な変更はありません。
2018.1.3 から 2018.1.4 への変更
既知の問題
サーバーが 2018.1.4 にアップグレードされている間に実行中のビルドでは、ビルドログとステータスが切り捨てられ、ビルドの失敗が正しく報告されないことがあります。ビルドログに「__tc_longResponseMarker」というテキスト ( 詳細 (英語)) の警告が表示されます。このバージョンにアップグレードする場合は、実行中のビルドがなくなるまで待つことをお勧めします。
その他
TeamCity 2018.1.4 では、Microsoft Internet Explorer 10 のサポートは廃止されます。
2018.1.2 から 2018.1.3 への変更
付属ツールのアップデート
最新の JaCoCo バージョン(0.8.2)が TeamCity に追加されました。
既知の問題
JaCoCo カバレッジを使用し、TeamCity 2018.1.3\+ から TeamCity バージョン 2018.1 \- 2018.1.2 にダウングレードする場合、影響を受ける構成を再び機能させるために手動での修正が必要となる問題が発生する可能性があります。
2018.1.1 から 2018.1.2 への変更
既知の問題
tcWebHooks(英語) サードパーティ TeamCity プラグインを使用している場合は、アップグレードする前に最新バージョンに更新してください ( 詳細 (英語))。
同様の TeamCity 終了コード構築問題を認識するための精度を高めました。これらのビルド問題に関する既存の調査とミュートはリセットされます。
付属ツールのアップデート
バンドルされている Tomcat はバージョン 8.5.32 にアップデートされました。
2018.1 から 2018.1.1 への変更
既知の問題
2018.1 から 2018.1.1 にアップグレードしていて、TW-55703(英語) と TW-55833(英語) の問題が原因で NuGet パッケージが見つからない場合は、次の手順を実行してください。
ビルドアーティファクトの
.teamcity/nuget/packages.jsonファイルをクリーンアップします。この PowerShell スクリプトの使用を検討してください。
管理 | 診断 | キャッシュページで、「buildsMetadata」キャッシュをリセットし、再インデックスが完了するまで待ちます。インデックス作成速度を一時的に上げるには、次のヒント(英語)を参照してください。
Docker イメージ
2018.1.1 以降、TeamCity には、latest でマークされたマルチプラットフォームの Docker イメージと、Docker、Hub で公開されたバージョン番号タグ (jetbrains/teamcity-server や jetbrains/teamcity-server:2018.1.1 など) があります。これにより、Linux および Windows docker containers に同じ Docker イメージ参照を使用できます。詳細については、TW-55061(英語) を参照してください。
2017.2.x から 2018.1 への変更
既知の問題
複数のビルドステップで NuGet パッケージを TeamCity NuGet フィードにパブリッシュすると、最初のビルドステップでパブリッシュされたパッケージのみが表示されます。詳細は TW-55703(英語) を参照してください。アーカイブ内で公開されている NuGet パッケージのダウンロードに関する問題が発生した場合は、TW-55833(英語) を参照してください。
パラメーター参照で使用されるパラメーター名の厳密な規則
ビルド構成パラメーターの名前がより厳密に検証されるようになりました。既存のパラメーターは引き続き機能するはずですが、名前を確認してラテン文字を使用し、特別なシンボルを使用しないことを強くお勧めします。詳細
ユーザー自己登録
「ログインページからのユーザー登録を許可する」設定をオンにして組み込み認証を有効にしている場合、アップグレード時に設定は無効になります。登録が必要な場合は、サーバーが権限のないユーザーアクセスに対して開かれていないことを確認し (例: インターネットからアクセスできない)、管理ページの上部に表示されるヘルス項目、「組み込み」モジュール設定の「管理 | 認証」で設定を有効にします。
付属ツールのアップデート
IntelliJ IDEA プロジェクトランナーは、最小バージョンとして Java 1.8 を必要とする JPS 2017.3.4 を使用します。
バンドルされている ReSharper CLT と dotCover はバージョン 2018.1.2 に更新されました
NuGet フィード
NuGet フィードの設定は、サーバーレベルからプロジェクトレベルに移動しました。各プロジェクトは独自のフィードを持つことができます。アーティファクトを索引付けする必要がある構成をビルドするために、「NuGet パッケージインデクサー」ビルド機能を追加することができます。
次の NuGet フィード関連のビルドパラメーターは非推奨です。
teamcity.nuget.feed.auth.serverteamcity.nuget.feed.serversystem.teamcity.nuget.feed.auth.serverRootUrlBased.server
ここで、プロジェクト設定の NuGet フィードページから URL を明示的に指定する必要があります。
URL
/app/nuget/v1/FeedService.svc/によってアクセスされるすべての発行済みパッケージを含む有効なデフォルト NuGet フィードが、ルートプロジェクトフィード/app/nuget/feed/_Root/default/v2/に移動されます。プロジェクトで新しい URL に切り替えることをお勧めします。.nupkg ファイルは、サーバーではなくエージェント側で索引付けされるようになりました。これにより、NuGet フィード機能と自動パッケージ索引付けが有効になっているプロジェクトまたは NuGet パッケージインデクサービルド機能付きのビルドのビルド時間が少し長くなります。
REST API
REST API はバージョン 2018.1 を使用します。以前のバージョンの API は、/app/rest/ 2017.2、/app/rest/ 2017.1(/app/rest/ 10.0)、app/rest/ 9.1、/app/rest/ 9.0、/app/rest/ にあります。8.1、/app/rest/ 7.0、/app/rest/ 6.0 の URL。次のリリースではそれらを削除する予定であるため、以前の API URL の使用を中止することをお勧めします。
エージェント名によるビルドのフィルタリング
エージェント名に括弧シンボルが含まれている場合は、agentName:<名前> を使用する代わりに、"agentName:(値: <値>)を使用してください。
"value:<テキスト>" を持つロケータ
"value:<テキスト>" ロケーターを使用し(プロパティのマッチングなど)、"matchType" ディメンションの指定を使用しないリクエストでは、デフォルトで "equals" マッチングが使用されます。古い動作を維持するために "matchType:contains" を追加してください。詳細 (英語)
VSS プラグインはバンドルされていません
Visual SourceSafe プラグインは TeamCity にバンドルされなくなりましたが、個別のダウンロード(英語)として入手できます。ビルドにこの VSS を引き続き使用する場合は、サポートにお問い合わせください。
その他
コミットステータスパブリッシャーは、Gerrit 2.6\+ バージョンをサポートしています。古い Gerrit バージョンのサポートについては、サポートにお問い合わせください。
9.1 より前のバージョンの TeamCity からアップグレードする場合、TeamCity 2018.1 が起動してエージェントがアップグレードされているのに、サーバーを以前の TeamCity バージョンにロールバックすることにした場合、エージェントは古いサーバーに接続できなくなり、手動で再インストールする必要があります。
エージェントからサーバーへの HTTP リクエストがブロックされていないことを確認してください (たとえば ... /app/agents/ ... URL へのリクエスト)
2018.1 以降、TeamCity では、完全なプロジェクト名が存在する場合は常に、プロジェクト \- サブプロジェクトの区切り文字として「: :」ではなく「/」を使用した完全なプロジェクト名が使用されます。
2017.2.3 から 2017.2.4 への変更
インスペクション(.NET)および重複ファインダー(.NET)ビルドステップは、インスペクション(ReSharper)および Duplicates finder(ReSharper) に名前が変更されました。
2017.2.2 から 2017.2.3 への変更
リビジョンを作成する
すべてのビルド構成で、アップグレード前に実行されたビルドはチェーンで再利用されず、新たに実行されます(ブランチが使用されている場合、デフォルトブランチの最後のビルドのみが影響を受けます)。また、これにより、Perforce などの VCS の初回実行ビルドでクリーンなチェックアウトが行われる場合があります。この動作は、VCS ルート編集後の動作に似ています。
セキュリティ
2017.2.x バージョンにアップグレードする場合 (2018.1 以降のバージョンにアップグレードする場合は無視してください): サーバーのセキュリティを強化するために、「 teamcity.artifacts.restrictRequestsWithArtifactReferer=true 」内部プロパティを追加することをお勧めします。
2017.2.1 から 2017.2.2 への変更
既知の問題
(修正済み 2017.2.3) Artifactory プラグインを使用していて、ビルドステップ設定を開いたときにブラウザーメッセージ「無効な RSA 公開鍵」が表示される場合は、回避策(英語)を適用してください。
Windows では、TeamCity サーバーがサービスとして起動されると、「logs\teamcity\-winservice.log」ファイルは作成されず、サーバーの起動エラーはどこにも表示されません。詳細 (英語)
IDE プラグイン
すべてのユーザーの IDE プラグインを最新バージョンに更新し、teamcity.uploadPersonalPatch.requireAuthorization=true 内部プロパティを追加してサーバーのセキュリティを強化することを強くお勧めします。
Perforce VCS ルート実行可能パス
TeamCity 2017.2.2 以降、p4 へのパスを指定するフィールドは、エージェント側チェックアウトの場合、エージェント側でのみ機能します。
サーバーの場合、p4 バイナリは TeamCity サーバーの PATH に存在する必要があります (または、teamcity.perforce.customP4Path 内部プロパティを介して指定できます)。teamcity.perforce.p4PathOnServerWhitelist 内部プロパティを使用して、許可された p4 パスのセミコロンで区切られたリストを指定できます。このリストのパスは、サーバー側の VCS ルート p4 パスパラメーターで設定できます (以前の動作を復元するため)。
Mercurial VCS ルートプロパティ
TeamCity 2017.2.2 以降、多数の Mercurial VCS ルートプロパティはセキュリティ上の理由でそれらの動作を変更します。
「HG コマンドパス」は、ホワイトリスト(英語)に含まれている場合にのみ TeamCity サーバーで使用されます。
「リポジトリのクローン先」プロパティは、VCS ルートにまだ設定されていない場合は非表示になり、デフォルトでは無視されます。TeamCity がすべての VCS ルートでプロパティを表示するようにするには、
teamcity.hg.showCustomClonePath=true内部プロパティを追加します。VCS ルートプロパティの値は、teamcity.hg.customClonePathWhitelist内部プロパティで指定されたホワイトリストに含まれている場合にのみ考慮されます。ホワイトリストは、クローンが許可されるディレクトリのセミコロンで区切られたリストです。/path/to/dirの子ディレクトリへのクローンを許可するには、/path/to/dir/*を使用します。"Mercurial config" はサーバー上では無視されます。Mercurial プラグインを有効にする必要がある場合は、グローバルにそれを行ってください。TeamCity サーバーマシン上の
hgrc
2017.2 から 2017.2.1 への変更
Kotlin DSL の変更
pom.xml のバージョンが更新されます: kotlin.version は 1.2.0 に更新され、teamcity.dsl.version は 2017.2.1 に更新されます。jdk8 で利用可能な追加機能(正規表現の名前付きグループなど)へのアクセスを提供するために、kotlin-stdlib への依存関係が kotlin-stdlib-jdk8 への依存関係に置き換えられます。非推奨の kotlin-runtime への依存関係と kotlin-compiler-embeddable への冗長な依存関係は削除されます。
TeamCity は、teamcity.dsl.version および kotlin.version プロパティを定義する Kotlin DSL の親 maven プロジェクトを提供します。このような親プロジェクトでは、各 TeamCity のアップグレード後に pom.xml を更新する必要はありません。
これらの変更を適用する最も簡単な方法は、プロジェクト管理領域で「Kotlin フォーマットで設定をダウンロードする」アクションを実行し、theTeamCity サーバーによって生成された zip から pom.xml を使用することです。
Docker イメージで使用されるバンドル Java
Docker イメージで使用されているバンドル Java は 8u151 に更新されています。
2017.1.x から 2017.2 への変更
既知の問題
(2017.2.1 が修正されました)(チームエクスプローラーがマシンにインストールされていない場合)Java 作業モードの TFS が "TFS サブシステムが破壊されました " というエラーを報告します。詳細は TW-52685(英語) を参照してください。
TeamCity インストールディレクトリにネストされたディレクトリが多数含まれている場合(たとえば、TeamCity データディレクトリがその下にある場合)、Windows インストーラを使用したアップグレードにはかなりの時間がかかる場合があります。長い段階は、「Extract:Uninstall.exe ...」進行メッセージの後に発生する可能性があります。この長いステップが発生した場合は、操作の補完を待ってください(インストーラーはネストされたプロセスとして icacls.exe ユーティリティを実行します)。この問題を防ぐために、データディレクトリを TeamCity サーバーの設置場所から移動することをお勧めします。
Perforce ブランチの仕様変更
機能ブランチを有効にした Perforce ストリームを使用し、デフォルト以外のブランチフィルターを使用している場合は、重大な変更があり、対処が必要です。
TeamCity 2017.2 から始まって、Perforce VCS ルートは Perforce ストリームと TeamCity 機能ブランチ仕様のために同じフォーマットを使います。
Perforce の VCS Root ブランチ仕様では、+:stream_name は +://stream_depot/stream_name に置き換えられる必要があります。また、UI でのストリーム名の表示を良くするために、+:* のようなデフォルトのブランチ仕様を +://your_stream_depot/* に置き換えることをお勧めします。
この変更は TW-48038(英語) の修正の範囲内で行われました。
サーバープロセスの再起動
サーバープロセスが予期せずに停止または強制終了された場合、プロセスは自動的に再起動します。正常な停止を実行する teamcity-server.bat/sh stop コマンドを使用してサーバーを停止する必要があります。
バンドルプラグイン
Docker 統合プラグイン
Docker 統合プラグインは TeamCity 2017.2.x 以降にバンドルされています。以前のバージョンのプラグインを手動でインストールした場合は、削除して(英語)ください。
.NET CLI プラグイン
.NET CLI(.NET Core)プラグインは、TeamCity 2017.2.x 以降にバンドルされています。以前のバージョンのプラグインを手動でインストールした場合は、削除して(英語)ください。
アップグレード中、既存の .NET Core ビルドステップはすべて .NET CLI ステップに変換され、既存の .NET Core プラグインは無効になります。
メモ : DotNetCore および DotNetCore_Path エージェント構成パラメーターは DotNetCLI および DotNetCLI_Path に変更されます。これらのパラメーターに依存するエージェント要件の更新を検討してください。
REST API
REST API はバージョン 2017.2 を使用します。以前のバージョンの API は、/app/rest/ 2017.1(/app/rest/ 10.0)、app/rest/ 9.1、/app/rest/ 9.0、/app/rest/ 8.1、/app/rest/ にあります。7.0、/app/rest/ 6.0 の URL。
buildType エンティティ
複数のテンプレートをサポートするために、「template」の代わりに「templates」サブ要素が追加されました。
ビルドエンティティでは、ブール値の「実行中」属性は公開されなくなり、代わりに値「実行中」を持つテキストの「状態」属性が使用されます。
Windows バージョンのサポート
Windows XP と Vista は、TeamCity サーバーとエージェントでサポートされている Windows のバージョンではなくなりました。サーバーとエージェントは、おそらくこれらの古いバージョンで動作するでしょうが、開発中のバージョンをターゲットにしていません。バージョンのサポートが TeamCity の使用にとって重要である場合、またはシステムサポートに問題がある場合は、知らせて。
J2EE Servlet 2.5 コンテナーはサポートされなくなりました
J2EE サーブレットコンテナーバージョン 2.5 は、TeamCity 2017.2 以降サポートされていません。TeamCity は、サーブレット 2.5 を実装した Tomcat 6.x および Jetty 7.x のサポートを保証しません。.war 形式のディストリビューション(非推奨、.tar.gz 形式のディストリビューションを推奨)の場合、TeamCity は Apache Tomcat 7\+、J2EE サーブレット 3.0\+、JSP 2.2\+ をサポートします。
その他
バンドルされている Tomcat 8.5 では、URL 内での波型括弧シンボル (\{ \}) を含む特殊文字の使用が制限されています。詳細(英語)。
Intellij\ ベースの IDE との TeamCity 統合では、StarTeam および Visual Source Safe バージョンコントロールがサポートされなくなりました。
2017.1.4 から 2017.1.5 への変更
バンドルされた JetBrains dotCover はバージョン 2017.2 に更新されました
SSH エージェントのビルド機能は、指定された SSH キー(TW-42707(英語) の範囲内)で SSH エージェントを起動できなかった場合、ビルドの問題を報告し始めました。前のエラーはログに記録されるだけで、ビルドの問題としては報告されませんでした。その結果、無効な SSH エージェント設定を使用したビルドはアップグレード後に失敗し始めます。
2017.1.3 から 2017.1.4 への変更
既知の問題
TFS パーソナルサポートは TFVC VCS ルートのためのすべてのビルド設定をリストします。詳細は TW-51497(英語) を参照してください。
2017.1.2 から 2017.1.3 への変更
TW-50148(英語) が修正され、DSL API ドキュメントが改善されます。ローカル開発でこれらの変更が必要な場合は、maven の依存関係バージョンを 2017.1.3 に更新してください。
これで、TeamCity サーバーは「gitgc」を自動的に実行して、git 操作のパフォーマンスを向上させます。これには、git クライアントがサーバーにインストールされ、PATH 環境変数を介してサーバーにアクセスできる必要があります。ネイティブの git クライアントが見つからない場合は、対応するヘルスレポートが表示されます。TeamCity が git クライアントを見つけるには、クライアントをサーバーマシンにインストールし、$PATH に追加する必要があります(後でサーバーを再起動する必要があります)。PATH を変更する代わりに、Git クライアントへのパスを teamcity.server.git.executable.path 内部プロパティを介して指定できます。
2017.1.1 から 2017.1.2 への変更
潜在的な破壊的な変更はありません。
2017.1 から 2017.1.1 への変更
バンドルされている IntelliJ IDEA は 2017.1.2 に更新されました
10.0.x から 2017.1 への変更
既知の問題
クラウドプロファイルを編集すると、プロファイルエージェント上のすべてのビルドがキャンセルされます。詳細は TW-49616(英語) を参照してください。
TeamCity のバージョン管理の変更
2017 年以降、TeamCity は、<year>。<number of the feature release within the year>。<bugfixupdate number> のパターンに従ってバージョンを年ごとに識別する一般的な JetBrains バージョン管理スキームを採用しています。現在のバージョンは、以前は TeamCity 10.1 と呼ばれていた TeamCity 2017.1 です。
Kotlin DSL の設定を更新する
このバージョンでは、TeamCity 設定の形式が変更されており、設定が Kotlin DSL に保存されている場合は、引き続き使用する前に Kotlin DSL スクリプトを更新する必要がある場合があります。サーバーのアップグレード後、関連するサーバーの健全性レポートを確認してください。
CSRF の保護: GET リクエストと適切なプロキシ設定の変更
TeamCity は、Web UI のセキュリティを向上させるために CSRF の保護を実装しました。これにより、インストールに影響を与える可能性のある動作にいくつかの変更が加えられます。特に:
TeamCity より前にリバースプロキシを使用する場合、プロキシは元の「Host」リクエストヘッダーを変更してはなりません (通常、プロキシを設定して Host ヘッダーを元のリクエスト値に設定する必要があります)。また、元のリクエストに存在する「Origin」ヘッダーと「Referer」ヘッダーを変更してはなりません。これは長い間推奨されてきた設定ですが、現在では TeamCity Web UI が機能するために重要になっています。
HTTP GET リクエストから TeamCity を実行する非バンドルクライアントを使用する場合、一部の GET 要求 (http://server/action.html?add2Queue=XXX) のようにサーバーの状態を変更する要求は 2017.1 では機能しなくなります) は、GET ではなく POST を使用するように要求を変更してください。
リクエストに TCSESSIONID クッキーを提供することで認証を再利用する非ブラウザークライアントは、リクエストの送信先ホストと同じ値を持つ「Origin」HTTP ヘッダーを提供するように更新する必要があります。チェックが失敗した場合は、失敗したチェックの詳細を含む HTTP 403 レスポンスが取得されます。詳細は teamcity\-auth.log にも記録されます。
旧知的財産権ランナー
古い(TeamCity 6.0)IPR ランナーは TeamCity から削除されました。TeamCity 6.0 から非推奨となり、オプションとして提供されなくなりましたが、現在は完全になくなりました(対応するビルド構成はもう実行されません)。
Log4j の設定
このリリースで変更されたデフォルトのログ記録構成を表す conf\teamcity-server-log4j.xml.dist ファイルの内容で、サーバーの conf\teamcity-server-log4j.xml ファイルを上書きすることをお勧めします。カスタムのログ記録構成が必要な場合は、conf\teamcity-server-log4j.xml を変更するのではなく、ログ記録プリセットを使用することを検討してください。
兄弟の .dist ファイルからの同じ上書きが TeamCity エージェントに推奨されます。conf\teamcity-*-log4j.xml.dist ファイルは、アップグレードされた TeamCity バージョンの最初の起動後に作成されます。
メタデータストレージを構築する (NuGet フィード)
アップグレード後すぐに、ビルドメタデータストレージが再作成され、ビルドが再インデックスされます。その結果、アップグレード直後には、TeamCity 内部の NuGet フィードにすべてのパッケージが含まれなくなります。ビルドの再インデックス中に、teamcity-server.log に次のメッセージが表示される場合があります。
「残りビルド数:」は、残りのビルド処理数を示します。TeamCity は最新のビルドから再インデックスを開始するため、TeamCity NuGet フィードには比較的短時間で新しいビルドがすべて表示されるはずです。
メタデータのインデックス作成速度を上げるには、次のヒントを使用できます。
REST API
REST API には小さな変更があるだけなので、同じ API が app/rest/10.0 と /app/rest/2017.1 の URL で公開されています。変更を反映するために、API バージョンは 2017.1 に更新されます。ビルドのノード "triggerBy" は、2017.1 のアップグレード後に開始されたビルドに対して、より適切な "type" 属性の値を持ちます。特に、"buildType" 値は使用されなくなり、"finishBuild"、"snapshot" などの値が代わりに使用されます。
Visual Studio アドインが TeamCity UI からのインストールに失敗する
回避策として、ReSharperWeb インストーラを使用できます。詳細については、TW-51680(英語) を参照してください。
10.0.4 から 10.0.5 への変更
エージェント側のチェックアウトで TFS を使用している場合、TW-48555(英語) の修正により、TeamCity は TFS ワークスペースを再作成する必要があり、アップグレード後にエージェントでクリーンチェックアウトが行われる可能性があることに注意してください。
10.0.3 から 10.0.4 への変更
dep.ID.NAME パラメーター参照の優先順位
%dep.ID.NAME% パラメーター参照が使用されていて、ID が "ID" の同じビルド構成への依存パスがいくつかあり、異なるビルドに(直接または間接)アーティファクト依存関係を介してアクセスできる場合、参照解決の結果はいずれのビルドも使用できます。保証された優先順位はありません。
10.0.4 dep. パラメーター解決は次のように機能します。
スナップショットの依存関係がある場合は、同じチェーンからのビルドが優先されます。
スナップショット依存関係がなく、複数のビルドがアーティファクト依存関係を介してアクセス可能な場合は、
buildIdが大きい方のビルドが優先されます。単一のビルド構成から複数のアーティファクト依存関係がある場合は、最初のものだけが考慮されます。
更新
AWS SDK は、新しいインスタンスタイプ(r4.4xlarge、f1.16xlarge、t2.2xlarge、t4.xlarge、r4.xlarge、r4.large、r4.16xlarge、r4.8xlarge、f1)をサポートするように 1.11.66 に更新されました。.2 倍)
10.0.2 から 10.0.3 への変更
Amazon EBS- 最適化されたインスタンス
TeamCity 10.0 以降デフォルトで有効になっている EBS 最適化(英語)の動作は、EC2 コンソールが提供するものと同様に変更されます。
EBS 最適化は、
c4.*、m4.*、d2.*(構成不可)ではデフォルトでオンになっています。他のインスタンスタイプでは、EBS 最適化はデフォルトで無効になっています。
Amazon クラウドプロファイルのイメージを設定するときに適切なチェックボックスをオンにすることで、それをサポートするインスタンス(
c3.xlargeなど)に対して EBS 最適化を有効にできます。
付属ツールのアップデート
バンドルされている dotCover はバージョン 2016.2.2 にアップデートされました
10.0.1 から 10.0.2 への変更
前述の for 10.0.1 の既知の問題は修正されました。
バンドルされた JetBrains dotCover は、バージョン 2016.2 に更新されました。
Jabber 統合では、SSL 接続チェックに関してより制限が厳しくなり(英語)ました。通知の送信に jabber.org を使用していて、SSL 証明書に関する問題が発生した場合は、「レガシー SSL を使用する」オプションを有効にするか、TeamCity を実行するための JVM バージョンを (より良い) 1.8.0_101 以上に変更する必要があります。
依存関係としていくつかの異なるビルドが使用されている場合、%dep.ID.NAME% パラメーター解決の優先順位が意図せずに変更されました。詳細は TW-47518(英語) を参照してください。
10.0 から 10.0.1 への変更
for 10.0 に記載されている既知の問題はすべて修正されました。
既知の問題
(10.0.2 で修正) エージェントツールが \< TeamCity データディレクトリ \>\/plugins\/.tools. 詳細と回避策(英語)のディレクトリとしてインストールされている場合、TeamCity サーバーの一時フォルダーがいっぱいになる可能性があります。
9.1.x から 10.0 への変更
既知の問題
(これらの既知の問題は 10.0.1 で修正されています)
TFS の変更を収集できませんでした - バージョン <x> が現在のバージョン <y> よりも大きい
TFS バージョン管理を使用していて、「VCS リポジトリの変更の収集エラー ... TFS の変更の収集に失敗しました \- バージョン x が現在のバージョン y より大きいです」というエラーが発生した場合は、影響を受けるビルド構成に表示されるように新しい変更をコミットするか、更新されたプラグイン(英語)をインストールしてください (関連する問題 (英語))。
プロジェクト管理者は、親プロジェクトから継承したパラメーターを再定義できない可能性があります。
詳細および考えられる回避策については、要求 TW-46372(英語) を参照してください。
8.1 より前の TeamCity バージョンからのアップグレードは、「db ロックが保持されていないときは排他ロックを取得できません」というエラーで失敗
詳細および考えられる回避策については、要求 TW-46385(英語) を参照してください。
svn + ssh:// プロトコルを使用した Subversion VCS ルートは、「ホスト鍵(xxx)を確認できません」と報告することがあります。
詳細および修正を伴うプラグインについては、TW-46385(英語) 要求を参照してください。
.NET 4.x ランタイムを報告するエージェントプロパティの変更
バージョン 10 より前の TeamCity エージェントは、.NET Framework の 4.x バージョンのいずれかがエージェントにインストールされている場合は常に、DotNetFramework4.0_* プロパティを報告していました。TeamCity 10 以降、DotNetFramework4.0_* プロパティは、4.0 ランタイム (更新なし) がインストールされている場合にのみ報告されます。4.5.*、4.6.* の場合、対応する DotNetFramework4.N_* プロパティが報告されます。この動作の変更により、より正確な要件定義が可能になります。
アップグレード後に、満たされていない要件: 存在する =>DotNetFramework4.0_x86(/x64) が存在するメッセージで互換性のないエージェントが表示される場合は、ビルド構成の明示的な要件を確認してください。ビルドが .NET 4.x ランタイムと互換性がある場合 (最も一般的なケース)、存在 => DotNetFramework4.* _ x86(/x64)要件を使用してください。.NET 4.5\+ エージェント \- で実行する場合は、存在します。=>DotNetFramework4.(5 | 6).* 要件を使用してください。
一部のサードパーティ製プラグインが影響を受けることが知られています。アップグレード時には、xUnit プラグインをバージョン 1.1.2+(英語) にアップグレードしてください。
無視されたテストテーブルの最適化
アップグレード中、TeamCity は ignore_tests テーブルのデータを最適化します (これは、TeamCity の組み込みバックアップ / 復元プロセスを高速化するために行われます)。まれに、このテーブルに数百万行が含まれている場合、テーブルの最適化プロセスにかなりの時間 (場合によっては数時間) かかることがあります。他のデータとともに、テーブルには、ビルド内の特定のテストが無視された理由が含まれています。古いビルドのこの情報がそれほど重要でない場合は、追加の JVM オプション : -Dteamcity.truncateIgnoreReasonConverter.copyReasons=false を使用して TeamCity サーバーを起動できます。\-
この場合、TeamCity は無視する理由を新しい最適化されたテーブルにコピーすることはありません。アップグレードプロセスのこの特定のステップは、はるかに高速に実行されます。
Java 8
TeamCity 10 以降、TeamCity サーバー Java 8 が必要です JRE/JDK(Windows .exe ディストリビューションに含まれています)。
TeamCity エージェントには現在 Java 1.6\+ が必要ですが、次の TeamCity バージョンからは、エージェントの Java の最小要件は Java 8 (エージェントの Windows .exe ディストリビューションに含まれています) になります。エージェントの Java のアップグレードを検討することをお勧めします。
Java メモリオプションの変更
以前に設定されていた場合は、TEAMCITY_SERVER_MEM_OPTS 環境変数から " -XX:MaxPermSize=..." JVM オプション " を削除することをお勧めします。(これは、Java 8 が永久世代 (PermGen) を使用しなくなった(英語)ためです)
エージェントの要件とアーティファクトの依存関係の無効化
エージェント要件とアーティファクト依存関係を無効にできるようになりました。TeamCity 10 より前のバージョンの API を使用する TeamCity プラグインと REST API ベースのコードは、これらの設定の無効化ステータスを無視する可能性があります。
TFS
TeamCity にはクロスプラットフォームの TFS 統合が付属しています。TFS を操作するために、Windows マシンに TeamCity サーバーをインストールする必要がなくなりました。
Visual Studio オンライン作業項目プラグイン
Visual Studio オンライン作業項目プラグインは TeamCity 10.0 以降廃止されましたであり、安全に削除できます。TeamCity 10.0 には、TFS 2010\+ および Visual Studio チームサービスをサポートする Team Foundation 作業項目(英語)との統合が組み込まれています。アップグレード後、TeamCity はこのプラグインの既存の課題追跡ツール接続を検出し、TFS 作業項目に変換します。
新しく作成されたビルド構成のデフォルトチェックアウトモード
新しいビルド構成を作成する際の VCS チェックアウトモードのデフォルト設定が変更されました。現在、TeamCity はビルドの前にエージェント上のソースをチェックアウトします。エージェント側のチェックアウトが不可能な場合、TeamCity はサーバー側のチェックアウトを使用します。明示的なサーバー側またはエージェント側のチェックアウトは引き続き有効です。新しいデフォルトは新しく作成されたビルド構成にのみ適用され、既存のものはすべて以前の構成どおりに動作します。
プロジェクトベースのエージェント管理権限
新しい TeamCity インストールには、さまざまなエージェント管理権限割り当てがあります。プロジェクト管理者ロールには(グローバル)エージェントマネージャーロールは含まれません。代わりに、プロジェクト管理者ロールにはエージェントプロジェクト権限があり、ユーザーがプロジェクト管理者ロールを持っているプロジェクトのみでエージェントプールからエージェントを管理できます。
ユーザー権限を変更しないために、既存のインストールはこの変更による影響を受けません。ただし、プロジェクト管理者のロールを確認し、「エージェントマネージャー」のロールを除外して次の権限を追加することを検討することをお勧めします。
プロジェクトに関連付けられているエージェントを有効 / 無効にする
プロジェクト用クラウドエージェントの起動 / 停止
プロジェクトのエージェント実行構成ポリシーを変更する
プロジェクトエージェントマシンの管理 (たとえば、再起動、エージェントログの表示)
プロジェクトエージェントを削除
プロジェクト担当者の承認
UI の変更
サーバー管理 UI
新しい管理 | ツールページでは、適切なプラグインによって使用されるツールをセットアップすることができます。ツールはすべてのビルドエージェントに自動的に配布され、関連するランナーで使用できます。
新規プロジェクト作成 / ビルド設定ボタンの作成
新しいサブプロジェクトを作成するボタンとビルド構成を作成するボタンにはドロップダウンがあり、プロジェクトを最初から (手動で) 作成するか、URL から作成するか、一般的なバージョン管理システム GitHub.com と Bitbucket を使用して作成するかを選択できるようになりました。
NuGet 関連の UI
NuGet 設定ページは削除されました。NuGet.exe は新しいツールページを使用してインストールできます。TeamCity を NuGet サーバーとして設定するには、管理 | NuGet フィードページに進みます。
テスト関連の UI
問題のあるテストタブは利用できなくなり、過去 120 時間以内に失敗したすべてのテストを表示するリンクが現在の問題タブから削除されます。
TeamCity は現在、特定のプロジェクトの専用タブに表示されているフレークテストを検出します。
Visual Studio アドイン
TeamCity Visual Studio アドインの旧バージョンはサポートされなくなりました。Visual Studio 2005 および 2008 はサポートされていません。
TeamCity Visual Studio アドインは、ReSharper Ultimate の一部として提供されます。インストール後、TeamCity アドインは Visual Studio の RESHARPER メニューから使用できるようになります。
インストーラーは、バンドル前の製品バージョン (9.0 より前の TeamCity および ReSharper バージョン、3.0 より前の dotCover、6.0 より前の dotTrace) を削除することに注意してください。ReSharper Ultimate は、Visual Studio バージョン 2005 および 2008 をサポートしていません。
IntelliJ IDEA の互換性
2013 年より前にリリースされた IntelliJ IDEA 12.1 以前の製品、およびその他の IntelliJ ベースの製品は、IntelliJ プラットフォームプラグインではサポートされなくなりました。
スナップショットの依存関係が再構築を構築
サーバーのアップグレード後、スナップショット依存関係で「適切なビルドがある場合は新しいビルドを実行しない」オプションがオンに設定されている場合でも、スナップショット依存関係として使用されるビルドが 1 回再構築されることがあります。これは、問題(英語)を修正するために行われます。
Perforce
クリーンチェックアウトは、ストリームベースおよびクライアントベースの Perforce VCS ルートを使用したビルドで実施されます。
Subversion
TeamCity 10 以降、TeamCity は、信頼されていないサーバー SSL 証明書を使用した https:// プロトコルによってアクセスされる SVN サーバーへの接続をデフォルトで受け入れません。このような証明書を使用したアクセスを有効にするには、証明書をサーバー JVM キーチェーンにインポートするか、VCS ルートオプション「信頼できない SSL 証明書を受け入れる」(10.0 で信頼されていない SSL 証明書を有効にする) を有効にする必要があります ( 問題 (英語))。
付属ツールのアップデート
Ant ランナー: バンドルされている Ant ディストリビューションは 1.9.6 から 1.9.7 にアップグレードされました
.NET dotCover の適用範囲: バンドルされている dotCover は 2016.1 に更新されています
ReSharper コマンドラインツール: バンドルされている R#CLT が 2016.1 に更新されます
Java インスペクションと複製: バンドルされている IntelliJ IDEA は 2016.2 に更新されています
GitHub 課題トラッカー
TeamCity 10.0 より前に TeamCity-GitHub サードパーティのプラグイン(英語)を使用していた場合は、安全に削除できます。組み込みの TeamCity 統合により、GitHub 課題追跡ツールへの既存の接続が検出され、設定が自動的に取得されます。
NuGet サポート
設定パラメーター teamcity.tool.NuGet.CommandLine.%NUGET_VERSION%.nupkg はもう報告されていません。代わりに teamcity.tool.NuGet.CommandLine.%NUGET_VERSION% パラメーターを参照してください。
例: %teamcity.tool.NuGet.CommandLine.DEFAULT.nupkg% パラメーターリファレンスを使用する代わりに、%teamcity.tool.NuGet.CommandLine.DEFAULT% を使用する必要があります。
統計を構築する
いくつかの統計値(メトリクス)が改善され、名前が変更されました。
BuildCheckoutTimeからbuildStageDuration:sourcesUpdateへBuildArtifactsPublishingTimeからbuildStageDuration:artifactsPublishingへArtifactsResolvingTimeからbuildStageDuration:dependenciesResolvingへ
チャート定義で古いキーがまだサポートされています。
REST API
REST API はバージョン 10.0 を使用します。以前のバージョンの API は、/app/rest/9.1、/app/rest/9.0、/app/rest/8.1、/app/rest/7.0、/app/rest/6.0 の URL で引き続き利用できます。
以前は 404 個の応答があったロケーターが単一のアイテムをアドレス指定しているアイテムのセットを要求すると、より一貫したアプローチとして空のセットが返されるようになります。例: .../app/rest/builds?locator=id:<non-existent build id> REST デバッグログには、ケースに関する詳細を含む診断メッセージが含まれる場合があります。
アイテムの集合すべてまたは不完全な結果が返されるわけではありません(0 個以上のアイテムを含む)を要求し、アイテムの次の「ページ」を取得するためのリンクを nextHref サブエレメントに提供します。nextHref サブエレメントが指定されていない場合、検索結果は完全です。
一連のアイテムに対するリクエスト(例: ... /app/rest/vcs-roots および ... /app/rest/vcs-root-instances)は、ロケーターなしで照会されると、デフォルトでページングされた結果を使用します(それらはすべてのアイテムをリストするために使用されます)。ページサイズを設定するには、" count:NNN" ロケーターディメンション " を追加します。
ビルドを探す (.../app/rest/builds/... の URL)
ビルドを実行するときに、指定されたロケータに一致するものを見つけるためにスキャンを実行すると、パフォーマンス上の理由から、デフォルトでは、TeamCity は最新の 5000 ビルドのみをスキャンすることによって制限された部分的な結果を返します。履歴のより大きな部分を処理するには、返された nextHref 属性を確認するか、lookupLimit ロケータディメンションをより大きな値に設定します。
以前は、デフォルト以外のブランチからのビルドを明示的に要求し、キャンセルするまで、個人用ビルドおよび開始に失敗したビルドは返されませんでした。現在、これらのフィルターで除外されたビルドは、実行中およびキューに入れられたビルドのクエリ、およびエージェントまたはユーザーによるフィルター処理時にデフォルトで返されます。defaultFIlter:true/false ロケーターディメンションを使用して、デフォルトのフィルター処理を明示的に管理します。
また、number:NNN ロケータは同じデフォルトロジックに従うようになりました。デフォルトのブランチからの「通常の」完成したビルドのみが番号で検索され、見つかった場合は複数のビルドが返されることがあります。
VCS の根を見つける (.../app/rest/vcsRoots/... URL )(マイナー)
project および buildType が指定された VCS ルートロケータは、buildType を見つけるためのコンテキストとして project を使用しました。これはもう当てはまりません。ビルド構成を見つけるには、buildType ロケータが完全である必要があります。
構成のアーティファクト依存関係を構築する (.../app/rest/buildTypes/... URL によって返されるエンティティ)
buildType 要素の artifact-dependencies サブ要素は、以前は順序に依存していた数値 ID ではなく、テキストで生成された ID を使用するようになりました。これは、アーティファクトの依存関係の変更の要求にも影響します。
buildType 要素の agent-requirements サブ要素は、ID としてパラメーター名ではなく、生成された ID を使用するようになりました。これは、エージェント要件の変更要求にも影響します。
エージェント要件の編集 (.../app/rest/buildTypes/.../artifact-requirements/... URL)
以前は、同じパラメーターに新しいエージェント要件を追加すると、既存の要件が新しい要件によって上書きされていましたが、現在は新しい要件が追加されます。以前は、新しいエージェント要件を追加すると、パラメーター名は agent-requirement ノードの id 属性から派生していました。TeamCity 10 以降、パラメーター名は " property-name " プロパティから派生します。
テストと問題の出現箇所 (.../app/rest/testOccurrences、.../app/rest/problemOccurrences URL)
以前のバージョンと比較して、一部のクエリでは返される結果の並べ替えが変更されています。例: 「 ../app/rest/testOccurrences?locator=build:(xxx) 」リクエストでは、ビルドで実行された順序でテストが返されるようになりました。
以前は、テストの発生は新しいステータスで並べ替えられ、次に名前で並べ替えられていました。問題の発生は問題 ID で並べ替えられていました。
また、テスト / 問題関連ロケータの build ディメンションは複数のビルドをサポートするようになったため、「 build 」ディメンションを介して複数のビルドに一致したリクエストについては、すべてのビルドが処理されます。以前は、最初に一致したビルドのみが処理されていました。
エンティティ
property エンティティには、パラメーターがテンプレート / プロジェクトから継承されるのではなく、ビルド構成で再定義されているかどうかを示す「独自の」ブール属性がありました。現在、属性の名前は ' inherited ' に変更され、その値は反転されています。
vcs-root と vcs-root-instance には、以前は status と lastChecked の属性がありました。現在、VCS ルートインスタンスには status 要素 (status と timestamp の属性を持つ current ノードを含む) があり、複数の VCS ルートインスタンスがある場合に未定義の結果が生成されるため、VCS ルートにはデータがありません。
test エンティティ id は Long ではなく Sring になりました (JavaScript で JavaLong 値を表現できない(英語)ため)
ビルドタイプとテンプレート
settings ノードには、サポートされているすべての設定が含まれていました。現在は、ビルド構成またはテンプレートで定義されている設定のみが含まれています。.../app/rest/buldTypes/XXX/settings/* リクエストについても同様です。デフォルトから変更された値のみが存在します。
適合剤
互換性のあるエージェントを照会すると、実際にビルドを実行できるエージェントのみが返されるようになりました。デフォルトでは、許可されていないエージェント、切断されたエージェント、無効なエージェントはリストされません。この動作は、いくつかの不一致があった以前のバージョンとは異なります。影響を受けるリクエストとエンティティ: .../app/rest/agents?locator=compatible:(...) ; ../app/rest/agents/.../compatibleBuildTypes および incompatibleBuildTypes ; ネストされたノード Agent.compatibleBuildTypes、QueuedBuild.compatibleAgents、BuildType.compatibleAgents
9.1.6 から 9.1.7 への変更
潜在的な破壊的な変更はありません。
9.1.5 から 9.1.6 への変更
既知の問題
WindowsXP および Vista で実行されるバンドルされた dotCover には既知の問題(英語)があります。提供されている修正プログラム(英語)または回避策(英語)を使用できます。この問題は、次の dotCover リリースで修正される予定です。
ローカルエージェントの内部 TeamCity NuCet サーバーの認証済みフィード URL に対して NuGet クレデンシャル(英語)が機能しないという既知の問題(英語)があります。回避策として、%teamcity.nuget.feed.auth.server% を使用する代わりに、ビルドステップとビルド機能で外部サーバーの URL を指定してください。
NuGet
2.8.6 より前の NuGet バージョンでは、ビルドエージェントに .Net フレームワーク 4.0\+ がインストールされている必要があります。NuGet 2.8.6 以降では、.NET 4.5 が必要です。
NUnit
9.1.6 以降、TeamCity は NUnit 3 ベータ版(NUnit 3.0.0 より前にリリースされた)をサポートしません。
NUnit ランナーのアセンブリごとにプロセスを実行するオプションは、NUnit 3 設定から削除されます。対応するフィールドで必要なコマンドラインオプション(英語)を使用して、目的の動作を構成します。
付属ツールのアップデート
バンドルされた IntelliJ IDEA はバージョン # 143.1945 にアップデートされました(いくつかの追加の修正を加えた 15.0.3 とほぼ同等です)。
Maven 3.2.x のバンドルバージョンが 3.2.5 に更新されました。
パフォーマンスモニター
アクセス許可に関する注意: Windows サービス(英語)として実行されるビルドエージェントのパフォーマンスを監視するには、エージェントを開始するユーザーが Performance MonitorUsers グループのメンバーであることを確認してください。
9.1.4 から 9.1.5 への変更
既知の問題
WindowsXP および Vista で実行されるバンドルされた dotCover には既知の問題(英語)があります。提供されている修正プログラム(英語)または回避策(英語)を使用できます。この問題は、次の dotCover リリースで修正される予定です。
製品のアイコン
JetBrains 製品アイコンは、新しい JetBrains ブランド(英語)に従って更新されます。
Git
TeamCity 9.1.5 以降、git sparse-checkout はデフォルトで無効(英語)になっています。TeamCity プロジェクトで有効にするには、このプロジェクトに teamcity.git.useSparseCheckout=true パラメーターを追加します。
Gradle: 9.1.2 と比較した画期的な変更
TeamCity 9.1.2 で導入され、ビルド用に Gradle プロセスの JVM システムプロパティとして定義された Gradle ランナー system.* プロパティは、9.1.5 以降では機能しません。現在、TeamCity システムプロパティは、Gradle スクリプトで Gradle プロパティとしてアクセスでき (gradle.properties ファイルで定義されているものと同様)、次のように参照されます。
a) Groovy 識別子として許可される名前 (プロパティ名にドットが含まれていない): customUserProperty
b) Groovy 識別子として許可されていない名前 (プロパティ名にドットが含まれている(例: build.vcs.number.1)): project.ext["build.vcs.number.1"]
付属ツールのアップデート
バンドルされた JetBrains IntelliJ IDEA(IDEA インスペクションおよび複製)がバージョン 15.0.2 に更新されました
.NET ツールの更新
JetBrains ReSharper コマンドラインツール(.NET インスペクションおよび複製)が ReSharper 10.0.2 リリースに一致するように更新されました TeamCity Visual Studio アドイン Web インストーラーが ReSharper 10.0.2 リリースに更新バンドルされた JetBrains dotCover がバージョン 10.0.2 に更新されました
9.1.3 から 9.1.4 への変更
既知の問題
特定のロール / 権限の構成では、ロールの読み込みエラーが発生し、通常のユーザーがプロジェクトを表示できなくなる場合があります。このような場合、サーバー管理者としてログインしているユーザーのサーバー管理ページに「ロール間の循環参照が検出されます」重大サーバーエラーが表示されます。問題の回避策(英語)を確認してください。
ビルド構成またはエージェント構成で teamcity.git.use.native.ssh=true パラメーターが指定されている場合、Git エージェント側チェックアウトが誤動作する可能性があります (詳細は TW-43202(英語) を参照)。これを修正するには、Git\-plugin の #snapshot-34(英語) ビルドをインストールします。
Git エージェント側チェックアウトは、git クライアントバージョン 1.7.0\-1.7.4 では正しく動作しません。チェックアウトディレクトリにはファイルのみが含まれ、すべてのディレクトリが欠落しています (詳細は TW-43330(英語) を参照)。この問題を回避するには、ルート TeamCity プロジェクトに teamcity.git.useSparseCheckout=false パラメーターを追加します。
TeamCity Windows バイナリシグネチャー
9.1.4 以降、TeamCity Windows バイナリは Microsoft SHA-2 ポリシー(英語)に準拠した SHA-2 コード署名証明書で署名されています。つまり、Windows XP SP3 より前のシステムでは、実行ファイルはコード署名検証に合格しません。新しい Windows システムでは、Microsoft からの対応するセキュリティ更新プログラムが必要です。
付属ツールのアップデート
バンドルされている Oracle JRE(Server と Agent.exe の両方のインストーラで)はバージョン 1.8.0_66 にアップデートされました (32 ビット)
.NET ツールの更新
JetBrains ReSharper コマンドラインツール(.NET インスペクションおよび複製)は、ReSharper 10.0 リリースに合わせて更新されました
TeamCity Visual Studio アドイン Web インストーラーが ReSharper 10.0 リリースに更新されました
バンドルされた JetBrains dotCover がバージョン 10.0 に更新されました
9.1.2 から 9.1.3 への変更
既知の問題
バンドルされている dotCover 3.2 には、「System.Security.VerificationException: System.Security.VerificationException: 操作によりランタイムが不安定になる可能性があります」という例外でビルドが失敗する可能性がある既知の問題(英語)があります。この問題は、TeamCity 9.1.4 リリースにバンドルされている dotCover 10.0 で修正されています。
バンドルされた JVM (サーバー Windows インストーラーとエージェント Windows インストーラー) が更新され、送信 HTTPS 接続の SSL RC4 チップスイートが無効になります。たとえば、これにより、CloudForge SVN サーバーへの接続が機能しなくなり、「SSLHandshakeException: 致命的なアラートを受信しました: handshake_failure」というエラーが発生します。( 詳細 (英語))
9.1.1 から 9.1.2 への変更
既知の問題
コマンドラインランナーは、スクリプトの先頭にデフォルト以外のハッシュバンが指定されている場合、カスタムスクリプトの実行に失敗することがあります。TW-42498(英語)
Amazon EC2 クラウド統合を使用すると、ビルドエージェントバージョン 9.1.2\-9.1.5 を含む AMI\- イメージが、EC2\-i\-abcdefgh と EC2\-i\-abcdefgh\-1 という名前で 2 回表示され、2 つのライセンスが消費されます。この問題を解決するには、エージェント 9.1.6\+ を含む AMI\- イメージを使用してください。AMI が同じままであれば、サーバーを 9.1.6 に更新するだけでは役に立ちません。( 詳細 (英語))
ビルドステータスアイコン
ビルドステータスアイコンがより「標準的な」外観に更新され、現在はもう少し大きくなっています。
付属ツールのアップデート
JetBrains ReSharper コマンドラインツール(.NET インスペクションおよび複製)は、ReSharper 9.2 リリースに合わせて更新されました
TeamCity Visual Studio アドイン Web インストーラーが ReSharper 9.2 リリースに更新されました
バンドルされた JetBrains dotCover がバージョン 3.2 に更新されました
バンドルされた Oracle JRE(Server と Agent の両方の .exe インストーラー)をバージョン 1.8.0_60 にアップデート (32 ビット)
9.1 から 9.1.1 への変更
バンドルされている Jacoco カバレッジライブラリがバージョン 0.7.5 に更新されました
Perforce サーバーでパスワード認証が無効になっている場合、チケット認証が無効になっている Perforce VCS ルートでは、「p4 login」操作が実行されなくなります。
つまり、パスワード認証が無効になっている場合は、VCS ルートで「チェックマークベースの認証を使用する」オプションを有効にする必要があります。TW-42818(英語)
9.0.x から 9.1 への変更
バンドルされた Ant
バンドルされた Ant ディストリビューションは、1.8.4 から 1.9.6 にアップグレードされました。バンドルされた Ant を使用する Ant ビルドステップでは、サーバーのアップグレード後に別のバージョンの Ant が使用されることに注意してください。Ant 1.9.6 には少なくとも Java 1.5 が必要なので、Ant を使用して Java 1.4 で実行するビルドは動作しなくなります。
MSTest ランナーを Visual Studio Tests ランナーに変換
MSTest ランナーは VSTest コンソールランナー(英語)(以前は別のプラグインとして提供されていました)とマージされて Visual Studio テストランナーになります。TeamCity 9.1 にアップグレードした後、MSTest ビルドステップは自動的に Visual Studio Tests ランナーステップに変換されますが、VSTest ステップは変更されないことに注意してください。
MSTest インストールエージェントのプロパティ
TeamCity エージェントは、インストールされている MSTest を自動的に検出し、system.MSTest.N.N システムプロパティ内の場所を公開するために使用されます。
TeamCity 9.1 以降、ロケーションは teamcity.dotnet.mstest.N.N 構成パラメーターを介して公開されます。プロパティの使い方を簡単に変更できない場合は、TW-41845(英語) で回避策を確認してください。
入れ子になったテスト報告
以前は、TeamCity は、サービスメッセージを使用して、あるテストを別のテスト内から報告できるケースをサポートしていました。現在、TW-40319(英語) の修正後、別のテストを開始すると、同じ「フロー」内で現在開始されているテストが終了します。他のテスト内から引き続きテストを報告するには、ネストされたテストサービスメッセージで別の flowId を指定する必要があります。
REST API
REST API はバージョン 9.1 を使用します。以前のバージョンの API は、/app/rest/9.0、/app/rest/8.1、/app/rest/7.0、/app/rest/6.0 の URL で引き続き利用できます。
ビルドを探す
要約 (要約): 一部のビルドフィルタリングルールに微妙な変更が加えられました。最も重要なのは、ビルド ID で検索するときに 404 ではなくキューに入れられたビルドが返されるようになり、「プロジェクト」ロケーターディメンションの意味が再帰的でないように変更されたことです。また、「failedToStart:any」ロケーターディメンションが指定されるまで、開始に失敗したビルドは含まれなくなりました。
詳細:
影響を受けるリクエスト: /app/builds/<locator>..., /app/builds?locator=<locator>, /app/buildTypes/<btLocator>/builds and others with build locator
ロケータ: id:<番号> または taskId:<番号>
以前は、一致するビルドがキューに入っているビルドであった場合、404(見つかりません)が返されました
キューに入れられたビルドが返される
ロケータ: プロジェクト: <id> ...
以前は、プロジェクトのビルド構成に属するすべてのビルドとそのすべてのサブプロジェクト(再帰的)が見つかりました
指定されたプロジェクトのビルド構成に属するビルドのみが見つかりました。再帰的にビルドを見つけるためには、"ffectedProject:<id> " を使用してください。寸法。これにより、使用方法がビルドタイプロケータと一致するようになります。
ロケータ: タグ: <テキスト>
以前は、"<text>" が ":" 文字を使用していたとき、"<text>" 全体をタグ名として扱うために使用されていました。
これで "<text>" はネストしたロケータとして解析されます。":" 文字を含むタグを検索するには、ロケーター "tag:(name :( <tag>))" を使用する必要があります。
ロケータ: <テキスト>
以前は、<テキスト> が数値ではない場合、応答は 400(不正要求)で、"LocatorProcessException: 無効な単一値: '<テキスト>' です。数値にする必要があります " でした。メッセージ。
サーバー上のすべてのビルド間でビルド番号による検索が実行されるようになりました(これは運用サーバーでの使用はお勧めできません)。ビルドが見つからない場合 404(Not found)応答が返される
ロケータ: id:<番号>、xxx:yyyy
以前は、ビルドは ID "<number>" で見つかりました。他のディメンションは無視されました
id で見つかったビルドが他のディメンションと一致しない場合、応答は 404 になります (見つかりません)
ロケータ: agent:<agentLocator>
以前は <agentLocator> がそのまま使用され、デフォルトは適用されませんでした。(許可されていないエージェントは特に除外されるまで含まれていました)
<agentLocator> は /app/rest/agents request と同じ動作になりました: 不正なエージェントはデフォルトで除外されます
プロジェクトを探す
404 エラーを返すために使用された名前でプロジェクトを検索すると、複数のプロジェクトが一致しました。最初に見つかったプロジェクトを返します。
ビルドのアーティファクト
/app/rest/builds/ <locator> /artifacts/ * リクエストでビルドアーティファクトを一覧表示する際に修正されたいくつかのバグがあり、リクエストの結果に微妙な変化を引き起こす可能性があります。応答に頼っている場合は、新しい動作を確認してください。最も重要な変更は次のとおりです。
URL 部分で指定された初期パスは現在のロケータ値なしで検索され、ディスク上にそのようなアーティファクトがなくなるまで 404 応答を生成しません。
デフォルトでは、アーカイブはディレクトリとして扱われません(子要素を持たない)。アーカイブをディレクトリとして扱うには、"browseArchives:true" を指定します。("recursive:true" モードでは、1 レベルのアーカイブのみがディレクトリとして扱われます。)
エージェント
システムに認識されていないエージェント (削除されたエージェント) は、以前は ID「\-1」を持っていました。現在、そのようなエージェントには「id」、「pool」、その他のエントリは含まれません。
Xcode 7 のサポート
Xcode 7 用の実験的サポートが追加されました。
課題トラッカーの統合
API の変更により、サードパーティの問題トラッカー統合プラグインは TeamCity バージョン 9.1 と互換性がない可能性があります。古いプラグインは機能せず、teamcity-server.log ログに「java.lang.NoSuchMethodError:jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.<init>(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V」エラーが報告されます (詳細詳細は号(英語)に記載)。このようなエラーが発生した場合は、プラグインの作成者(英語)に連絡してください。影響を受けるプラグインの作成者である場合は、オープン API の変更(英語)の関連メモを参照してください。
9.0.4 から 9.0.5 への変更
潜在的な破壊的な変更はありません。
9.0.3 から 9.0.4 への変更
潜在的な破壊的な変更はありません。
9.0.2 から 9.0.3 への変更
潜在的な破壊的な変更はありません。
9.0.1 から 9.0.2 への変更
潜在的な破壊的な変更はありません。
9.0 から 9.0.1 への変更
既知の問題
TeamCity 9.0 でメタランナーを使用するプロジェクトのバージョン設定を有効にした場合、アップグレード時および設定 VCS ルートへのコミット後に、メタランナーがサーバーから削除されます。回避策としては、メタランナー定義を設定リポジトリに手動でコミットします。関連する問題: TW-39519(英語)。
Oracle 10.x JDBC ドライバはサポートされなくなりました
Oracle 10.x JDBC ドライバーで各国語文字セット(nvarchar)のサポートが欠落しているため、TeamCity 9.0.1 は Oracle JDBC ドライバーを最新バージョンにアップグレードするよう要求します。サポートされている Oracle JDBC ドライバの最小バージョンは 11.1 です。
8.1.x から 9.0 への変更
既知の問題
「.teamcity」ディレクトリにメンションするカスタムアーティファクトクリーンアップルールが構成されている場合、クリーンアップ手順によりビルドログを削除できます。アップグレードの前にビルドログのバックアップがあることを確認し、「。teamcity」を使用してすべてのカスタムアーティファクトクリーンアップルールを削除します。関連問題: TW-40042(英語) この問題は、9.0.3 リリースで修正されています。
Microsoft、SQL Server データベースを TeamCity と併用する場合、スケジュールされたクリーンアップのバックグラウンド実行後、TeamCity の UI ページがサーバーの再起動までロックされることがあります。詳細は TW-39549(英語) を参照してください。この問題は 9.0.2 リリースで修正されています。
サーバーで LDAP 認証を使用し、サーバー上でログイン試行が多数ある場合 (アクティブな REST 使用スクリプトがある場合など)、OutOfMemory エラーが発生し、サーバーの再起動が必要になることがあります。問題(英語)の修正を含む LDAP プラグインのインストールを検討してください。この問題は、9.0.1 リリースで修正されています。
大規模な Maven プロジェクトがある場合、OutOfMemoryError でビルドが失敗することがあります。これは、バックエンドに組み込まれた Maven を、メモリフットプリントが大きい 3.2.3 に更新したために発生します。ビルドエージェントのメモリ制限(英語)を増やすことを検討してください。関連の問題: TW-41052(英語)
XML 設定ファイル内の UUID
TeamCity 9.0 以降、プロジェクト、ビルド構成、VCS ルートのディスクに保存された XML 設定定義には、一意の人間が判読できない ID (uuid) が保存されています。これらの ID は自動的に生成され、グローバルに一意であると想定されます。設定ファイルのコピーでは、エンティティの ID (ファイル名) と名前 (兄弟全体) を変更 / 一意にするだけでなく、ファイルからその uuid を削除する必要があります。TeamCity は新しい uuid を自動的に生成します。
ログストレージを構築する
TeamCity データディレクトリに保存されている内部形式のビルドログの場所が変更されました。内部形式のビルドログファイルは、隠しビルドアーティファクトに保存されるようになりました。名前は、system/messages/CHyy/xxyy.* から system/artifacts/<PROJECT EXTERNAL ID>/<BUILD CONFIGURATION NAME>/xxyy/.teamcity/logs/buildLog.* に変更されました。
古いビルドログは、TeamCity サーバーの起動時に新しい場所 (TW-37362(英語)) に移行されます。この移行を回避するには、サーバーの起動前に teamcity.skip.logs.migration 内部プロパティを設定する必要があります。
アップグレード後に再インデックス作成
9.0 より前のバージョンからアップグレードした後の最初のサーバー起動時に、サーバーはビルド検索機能と NuGet フィードの目的ですべてのビルドを再インデックスします。インデックス作成中は、一部のビルドは検索結果と NuGet フィードで使用できません。また、インデックス作成中はサーバーがパフォーマンスの低い方法で動作する場合があります。teamcity-server.log には対応するログがあります。インデックス作成が終了すると、ログに「BuildIndexer (検索) \- ビルドの再インデックスが完了しました」と「BuildIndexer (メタデータ) \- ビルドの再インデックスが完了しました」という行が記録されます。
課題追跡システムとの統合
TeamCity 9.0 以降では、課題追跡はグローバルサーバー全体の構成ではなく、プロジェクトレベルで構成されます。サーバーのアップグレード時に、既存のすべての課題追跡統合がルートプロジェクトに移動され、サーバー上のすべてのプロジェクトから引き続きアクセスできるようになります。
WebSocket 接続とプロキシサーバー
9.0 以降、TeamCity は、UI 更新のためにブラウザーとサーバーの間で WebSocket 接続を確立しようとします。TeamCity Web UI の前にプロキシサーバー (nginx など) がある場合は、プロキシが WebSocket 接続をサポートするように適切に構成されていることを確認してください。
プロキシの設定が誤っているか、WebSocket プロトコルをサポートしていない場合、TeamCity システム管理者にサーバーヘルス項目が表示されます。この場合、TeamCity は以前と同じように UI の更新に単純な古いポーリングを使用します。
REST API
REST API はバージョン 9.0 を使用します。以前のバージョンの API は、/app/rest/8.1、/app/rest/7.0、/app/rest/6.0 の URL で引き続き利用できます。
bean を変更します。
webLink属性は、他の Bean と一致するようにwebUrlに名前変更されます(TW-34398(英語))。一部の Bean 内の空のコレクションを表すサブ要素は、応答に含まれなくなりました (以前は XML に空のタグとして含まれていました)。
ビルドの
changes要素はデフォルトでは "count" 属性を含みません(パフォーマンス上の理由から)、count はまだ次のように fields パラメーターを提供することで含めることができます。"fields = $ long、変更(件数、href)"/app/rest/agentsリクエストはデフォルトですべての許可されたエージェントを返すようになりました (無許可の接続エージェントも含む)キューに入れられたビルドは、
taskId属性の代わりにid属性を持つようになりました (TeamCity 9.0 以降の新しいビルドでも同じです)
ビルドタグ関連の変更
/app/rest/builds/<buildLocator>/tags ビルドリクエストは異なる XML を返すようになりました: <tags><tag>TAG</tag></tags> ではなく <tags count="1"><tag name="TAG"/></tags> です。
/app/rest/buildTypes/<buildTypeLocator>/<buildTypeLocator>/buildTags リクエストにも同じことが当てはまります。
構造における同じ変更は、ビルドのエンティティのネストされた「タグ」要素にも適用されます。
タグを作成するには、プレーンテキストのタグ名を app/rest/builds/<buildLocator>/tags URL に投稿する古い方法があります。
URL に POST または PUT XML または JSON リクエストを送信する場合、新しい XML 形式 ( <tag>TAG</tag> ではなく <tag name="TAG"/></tags> ) が使用されます。
ビルド内で同じ名前のテストを処理する
TeamCity 9.0 では、同じビルド内の同じ名前の複数のテストは、呼び出し回数を持つ単一のテストと見なされます。これらのテスト実行のいずれかが失敗した場合、ビルド全体でテスト全体が失敗したと見なされます。関連する問題は TW-24212(英語) です。
この変更により、同じテストに対して複数の実行があるビルドでテスト番号カウンターが削除されます。ビルドのテスト番号に依存するビルド失敗条件がある場合、この変更はあなたに影響を与える可能性があります。
テストを別々のものとして扱う必要がある場合は、テストスイートで別の名前で実行するか、テスト / 実行ロジックを変更して TeamCity に表示される完全なテスト名を変更することを検討してください。
データベース関連の変更
TeamCity で使用する MS SQL データベースにおいて、テキストフィールドの各国語文字セット(nchar、nvarchar、nclob 型)がサポートされるようになりました。jTDS JDBC ドライバは nchar および nvarchar 文字をサポートしていないため、Microsoft ネイティブ JDBC ドライバの使用をお勧めします。jTDS をまだご使用の場合は、移行してください。
アップグレードして通常の作業状態に入ると、TeamCity はバックグラウンドプロセスを開始し、エントリを vcs_changes データベーステーブルから vcs_change テーブルに移動します。このプロセスは透過的であり、通常どおりサーバーで作業を続けることができます。サーバーのパフォーマンスへの影響はごくわずかで、影響を受けるロジックはプロジェクトのインポート機能のみです (プロセスの補完後に取得したバックアップでのみ使用することをお勧めします)。プロセスの進行状況は、サーバー管理のバックアップセクションで、「TeamCity は現在、バックアップ / 復元のパフォーマンスを向上させるためにデータベース内の VCS\ 関連データを最適化しています」というメッセージとともに確認できます。
もう 1 つの重要な点は、データのコピーによって生のデータベースストレージのサイズが増加することです。
これがお客様のケースで問題となる場合(例: データベースサイズ制限が設定されている Microsoft または SQL Server データベースの場合)、アップグレード前にデータベースサイズ制限が現在のサイズの 2 倍になっていることを確認することをお勧めします。VCS の変更移行プロセスが完了した後、データベース固有の手順を実行して、実際に保存されているデータに合わせてストレージを縮小することが可能です。
VCS ルート関連の変更
Git および Mercurial の VCS ルートは、新しい VCS ルート用にサーバー上のカスタムクローンパスを指定する機能を提供しなくなりました。この機能が必要な場合は、次の内部プロパティを git と mercurial のそれぞれの true に設定します: teamcity.git.showCustomClonePath、teamcity.hg.showCustomClonePath
Visual Studio アドイン
ReSharper Ultimate の一部としてインストールされた TeamCity アドインは、バンドル前の製品バージョン (9.0 より前の TeamCity および ReSharper バージョン、3.0 より前の dotCover バージョン、6.0 より前の dotTrace バージョン) を削除します。
また、バージョン 8.1 で提供される設定は使用されません。TeamCity サーバーからダウンロードされた従来のアドインでは、以前のバージョンの設定を引き続き使用できます。
その他
Java Web の開始インストールパッケージによる TeamCity エージェントのインストールは利用できなくなりました。
8.1.1 から 8.1.4 への変更
潜在的な破壊的な変更はありません。
8.1 から 8.1.1 への変更
コマンドラインランナー
8.1 で導入された動作の変更 ( 下記参照) が修正されました。TeamCity 8.1 で作成 / 変更された「パラメーター付き実行可能」オプションを使用するコマンドラインランナーは、アップグレードによって動作が変化する可能性があります。推奨される方法は、コマンドラインランナーで「パラメーター付き実行可能」オプションの代わりに「カスタムスクリプト」オプションに切り替えることです。
VSTest.Console ランナー用の個別ダウンロード
VSTest コンソールランナーは TeamCity にバンドルされなくなり、個別のプラグインとして利用できるようになりました。ダウンロードの詳細については、プラグインページ(英語)を参照してください (英語)
8.0.6 から 8.1 への変更
統合セキュリティを備えた MS SQL データベースの作成に関する既知の問題
TeamCity を新しくインストールし、データベース設定 UI を使用して統合セキュリティを備えた MS SQL データベースを作成すると、エラーが発生することがあります。次のバグ修正で解決する予定ですが、次の回避策を使用してください。
エラーを受け取ったら、TeamCity サーバーを停止します。
TeamCity サーバーを起動します。
データベース構成画面で、必要な情報を入力します。リフレッシュボタンを使用しない指定された情報が正しいことを確認してください。
設定手順を続けます。
何らかの理由で上記の回避策で問題が解決しない場合は、次の手順を実行します。
TeamCity サーバーを起動し、新しいデータベースの作成を承認し、統合セキュリティなしでログインとパスワードを使用して MS SQL アクセスを構成します。
TeamCity が正しく機能していることを確認してください。
TeamCity サーバーを停止します。
外部データベースの設定ファイルを変更します。統合セキュリティを使用するように MS SQL 接続文字列を設定し、ログインとパスワードを削除します。
TeamCity サーバーを再起動してください。
VSTest.Console ランナーの既知の問題
TeamCity 8.1 で最初に登場した新しい "VSTest.Console" ランナーは実験的な状態であり、現時点では本番用にはお勧めできません。デフォルトでは TeamCity 8.1.x には含まれていません(別のダウンロードとして入手可能になるでしょう)。
PowerShell ランナーの既知の問題
PowerShell ランナープラグインは 8.1 で壊れています。修正が利用可能です。問題コメント(英語)の指示に従ってください。
コマンドラインランナーの既知の問題
「パラメーター付き実行可能」オプションを使用するコマンドラインランナーは、引用符 (") とパーセント記号 (%\) を、以前の TeamCity バージョンとは少し異なる方法で処理できます ( 問題(英語)の詳細を参照)。以前の動作 (8.0) に戻すには、ビルド構成またはプロジェクトで command.line.run.as.script=false 構成パラメーターを指定します。この問題は 8.1.1 で修正されています。
推奨される方法は、コマンドラインランナーで「パラメーター付き実行可能」オプションではなく「カスタムスクリプト」オプションに切り替えることです。
メモリ設定
64 ビット JVM に切り替えをまだ使用しておらず、サーバーに -Xmx1300 メモリ設定を使用していて、サーバーが Windows 上で実行されている場合は、設定を -Xmx1200 に下げることを検討してください。そうしないと、「ネイティブメモリ割り当て (malloc) に失敗しました」という JVM クラッシュが発生する可能性があります。詳細については、推奨されるメモリ設定を参照してください。
アクションメニュー
一部のアクションは、ページの右上にある「実行」ボタンの近くにある「アクション」ボタンに移動しました。
これらには、ビルドの変更タブの「このビルドソースにラベルを付ける」
ビルド構成設定管理ページの「一時停止」、「コピー」、「移動」、「削除」、「テンプレートとの関連付け」、「テンプレートの抽出」、「メタランナーの抽出」
プロジェクト設定管理ページで「コピー」、「移動」、「削除」、「アーカイブ」、「ID の一括編集」が行えます。
デフォルトで Create Maven ビルド構成は使用できません
アクション "Create Maven build configuration" は使用できなくなりました。その機能のほとんどは URL からプロジェクトを作成し、URL ページから VCS ルートを作成することでカバーされています。
GroovyPlug プラグインの triggerBy パラメーター
プラグイン(英語)によって追加されたプラグインによって提供される build.triggeredBy および build.triggeredBy.username 構成パラメーターは、それぞれ teamcity.build.triggeredBy および teamcity.build.triggeredBy.username の名前でプラグインなしで使用できるようになりました。プラグインのものを使用した場合は、設定で後者のパラメーターセットに移行することを検討してください。
共有リソース構築機能
カスタム値を使用してビルドがリソースのすべての値をロックする場合、これらの値はビルドパラメーターのロック値として提供されます。対応する号: TW-29779(英語)
TeamCity ディスクスペース監視
次の内部プロパティは、 TeamCity サーバーマシン上の空きディスク領域のしきい値を定義します。
teamcity.diskSpaceWatcher.thresholdをデフォルトで 500 Mb に設定すると、TeamCity Web UI のすべてのページに警告が表示されます。デフォルトで 50 MB に設定された
teamcity.pauseBuildQueue.diskSpace.thresholdは、構築キューを一時停止します。teamcity.diskSpaceWatcher.softThresholdプロパティは削除されました。
PowerShell
PowerShell プラグインは、スクリプトを実行するときに、-Version コマンドライン引数として UI で指定されたバージョンを使用するようになりました。対応する号: TW-33472(英語)
REST API
API の最新バージョンは変更されていません。「8.0」のままですが、以下で詳しく説明する API に変更が加えられています。これが REST API の使用にとって不都合であると思われる場合は、対応する問題(英語)にコメントしてください。
REST API リクエストの応答で返されるエンティティは、空の値またはデフォルト値を持つ属性 / 要素を除外するようになりました。これは、"false" 値と空のコレクションを持つブール値フィールドに関連します。推奨される方法は、クライアントコードが存在しないブール型の属性 / 要素の値として「false」を想定することです。
buildType ノードの「projectName」に、プロジェクトの短い名前ではなく、完全なプロジェクト名(親プロジェクトの名前を含む)が含まれるようになりました。
ビルドの一覧で、"startDate" 属性が "build" ノードに含まれなくなりました。フルビルドのデータ表現に合わせるために、属性ではなく要素になりました。REST API の使用箇所が影響を受ける場合は、道(英語)を調べてビルドのリストを求める要求でその要素を取得してください。
リクエスト /app/rest/buildTypes/XXX/parameters/YYY と /app/rest/projects/XXX/parameters/YYY は "text/plain" と "application/xml" レスポンスをサポートします。プレーンテキストの応答を取得するには(8.1 より前でサポートされている唯一の方法でした)、リクエストに "Accept:text/plain" ヘッダーを指定する必要があります。
VCS ルートのパスワードプロパティは、値なしで応答に含まれるようになりました。
CCTray\-format XML (app/rest/cctray/projects.xml) には現在、一時停止されたビルド構成は含まれません。
実験的なリクエストへの応答 /app/rest/buildTypes/XXX/investigations は形式を変更し、テストと問題の調査をカバーするためのフィールドが追加されました。削除されたサブ項目を含めるための内部プロパティ rest.beans.buildTypeInvestigationCompatibility があります。内部プロパティを使用する必要がある場合は、サポートメールでお知らせください。
8.0.5 から 8.0.6 への変更
潜在的な破壊的な変更はありません。
8.0.4 から 8.0.5 への変更
潜在的な破壊的な変更はありません。
8.0.3 から 8.0.4 への変更
最初のクリーンアップ
サーバーに多数のビルドが存在する場合、サーバーのアップグレード後の最初のクリーンアップには、通常よりも少し時間がかかる場合があります。その後のクリーンアップは、以前のバージョンよりも少し高速に実行されます。
8.0 から 8.0.3 への変更
潜在的な破壊的な変更はありません。
7.1.x から 8.0 への変更
プロジェクトおよびビルド構成 ID
このバージョンでは、プロジェクトとビルド構成にユーザーが割り当て可能な ID が導入されました。この新しい ID は、少なくとも次の場合に内部 ID (projectN および btNNN) の代わりに使用されるようになりました。
Web ページの URL とアーティファクトのダウンロード
REST API
プロジェクト ID は、TeamCity 8.0 より前に使用されていたプロジェクト名の代わりに、
<TeamCity Data Directory>\system\artifactsのサーバー上のディレクトリ名にも使用されています。
上記のいずれかを使用した場合は、変更の影響を受けるかどうかを確認してください。
ID の詳細については、識別子を参照してください。
アップグレードすると、すべてのプロジェクトは名前に基づいて自動的に生成された ID を取得します。
ビルド構成 ID は内部 (btNNN) ID と同じになるように設定され、後で管理 UI から ID を再生成または一括編集 ID アクションを介して変更できます。
プロジェクト名とビルド構成名はサーバー全体で一意ではなくなり (直接の親プロジェクト内でのみ一意)、ディレクトリ名やファイル名で使用した場合に関連する可能性のあるシンボルが含まれる可能性があることに注意してください。
ディスク上のプロジェクト設定フォーマット
<TeamCity Data Directory> /config 下のディスク上のプロジェクト設定ストレージの形式が変更されました。
project-config.xml ファイルの読み取りまたは更新にツールを使用した場合は、ツールを更新する必要があります。ツールが形式の変更によって大きな影響を受けないように、REST API または TeamCity オープン API (Java) を使用して変更を行うことをお勧めします。
構成テンプレートの構築
バージョン 8.0 では、ビルド構成テンプレートはプロジェクト階層をサポートし、TeamCity は新しい規則を使用します。
TeamCity 管理 UI はテンプレートの使用を現在のプロジェクトとその親からのものだけに制限します。プロジェクトまたはビルド構成をコピーすると、ターゲットプロジェクトまたはその親のいずれにも属していないテンプレートが自動的にコピーされます。
テンプレートが現在のプロジェクトまたはその親の 1 つに属していない場合、TeamCity はビルド構成をテンプレートにアタッチすることを許可しなくなりました。
バージョン 8.0 より前では、あるプロジェクトのビルド構成から関連のないプロジェクトにテンプレートを抽出したり、あるプロジェクトのビルド構成を別のプロジェクトのテンプレートに関連付けることができました。TC 8.0 へのアップグレード後、そのようなテンプレートは現在のプロジェクトではアクセスできなくなります。無関係なプロジェクトからビルド構成テンプレートを再利用するには、共通の親プロジェクト(またはグローバルに使用可能にする場合はルートプロジェクト)に手動で移動することをお勧めします。
JVM 起因のエージェントパラメーター (os.arch など)
エージェントは、エージェント JVM(system.os.arch, system.os.name, system.os.version, system.user.home, system.user.name, system.user.timezone, system.user.language, system.user.country, system.user.variant, system.path.separator, system.file.encoding, system.file.separator)に由来するシステムプロパティを報告しなくなりました。前述のすべてのパラメーターは、代わりに teamcity.agent.jvm. 接頭辞を持つ設定パラメーターとして報告されるようになりました。いずれかのパラメーターを使用した場合は、必ず新しい値に更新してください。
IntelliJ IDEA プロジェクトランナー
IntelliJ IDEA プロジェクトランナーは、プロジェクトをビルドするために IntelliJ IDEA の外部 make ツールを使用するようになりました。このツールが動作するには Java 1.6 が必要なので、IntelliJ IDEA プロジェクトランナーも (少なくとも) Java 1.6 が必要になりました。
機能ブランチを使用したビルド構成のクリーンアップ
機能ブランチを含むビルド構成では、ブランチごとにクリーンアップルールが処理されるようになり、クリーンアップ中に以前のバージョンよりも多くのビルドが保持されるようになりました。詳細を参照してください。
Team Foundation サーバー統合
TFS は、TFS 操作に Team Explorer 2010(両方がインストールされている場合)よりも Team Explorer2012 を優先するようになりました。
YouTrack との互換性
JetBrains、YouTrack を使用し、その TeamCity 統合機能を使用する場合、TeamCity 8.0 と互換性があるのは YouTrack バージョン 4.2.4 以降のみであることに注意してください。
TeamCity 8.0 で動作させるために以前の YouTrack バージョンが必要な場合は、お知らせください。
REST API
外部 ID プロジェクト / ビルドタイプ / テンプレートの新しい外部 ID に関連する API の変更やその他の変更があります。
TeamCity 7.1 と互換性のある古い API は、引き続き「/app/rest/7.0」URL で提供されます。
プロジェクト、ビルド構成、テンプレート(.../app/rest/projects/id:XXX や .../app/rest/buildTypes/id:XXX など)に "id" を持つロケータを含む URL を使用した場合は、ロケータを次のいずれかに更新してください。
(推奨) "id:EXTERNAL_ID"(Web UI の URL または
.../app/rest/projects/internalId:OLD\_ID/idへのリクエストで外部 ID を取得できます)内部、外部の ID、名前でエンティティを見つけるには、"ANY_ID" だけを使用します(注意して使用してください)。期待以上のものを見つけることができます)
内部 ID でエンティティを検索するには、「internalId:INTERNAL_ID」を使用します。また、「/app/rest/」の代わりに「/app/rest/7.0/」URL 接頭辞を使用して、ビルド完了トリガープロパティを除いて引き続き内部 ID を使用する 7.0 バージョンの REST API で作業することもできます。
また、内部プロパティ rest.compatibility.allowExternalIdAsInternal=true を設定して互換モードをオンにし、id:xxx ロケーターも内部 ID で検索するようにすることができます。これは TeamCity の将来のバージョンでは削除される予定であり、使用することはお勧めできません。
その他の変更
ビルド "... /builds/ <locator> / ..." および "... /builds ? locator = <locator>" に対するリクエストで、デフォルトで個人用ビルドおよびキャンセルビルドが返されることはなくなりました。含めるには、必ず "、personal:any、cancelled:any" をロケーターに追加してください。
ビルドエンティティの「relatedIssues」要素には、関連する問題の完全なリストが含まれなくなりました。この要素には「href」属性のみが含まれており、その値を使用して別のリクエストを介して関連する問題を取得できます。
内部プロパティ「rest.beans.build.inlineRelatedIssues」もあり、これを true に設定すると、互換性のために「relatedIssues」ノードが返されます。詳細については、TW-20025(英語) を参照してください。また、「.../builds/xxx/related\-issues」URL の名前が「.../builds/xxx/relatedIssues」に変更されます。
「source_buildTypeId」プロパティは、スナップショットおよびアーティファクト依存関係ノードから削除されます。代わりに、ビルドタイプへの参照を含む「source\-buildType」サブ要素が追加されます。
依存関係の作成は引き続き「source_buildTypeId」プロパティでサポートされていますが、非推奨です。内部プロパティ「rest.compatibility.includeSourceBuildTypeInDependencyProperties」があり、これを true に設定して「source_buildTypeId」プロパティを再度含めることができます。
バージョン 8.0 では、VCS ルートはプロジェクト階層をサポートします。
VCS ルートを作成するときは、
project要素を常に指定する必要があります。この要素は、プロジェクトを指定するためのlocator属性をサポートしています。shared属性は VCS ルートから削除されます。アップグレード後、そのような VCS ルートはルートプロジェクトに(「_Root」ID で)付加され、グローバルに利用可能になります。プロジェクトをコピーして構成をビルドするときに、
shareVCSRoots属性はもう存在しません。VCS ルートをプロジェクトで使用可能にして設定を構築するには、VCS ルートを親 / ルートプロジェクトに移動してからコピーを続行します。
組織 / 設定共有構造に対応するプロジェクト階層を作成し、VCS ルートを最もネストされた包括的プロジェクトに移動することをお勧めします。その後、ユーザーはプロジェクト内で「VCS ルートの作成 / 削除」ロールを付与され、VCS ルートを編集できるようになります。ユーザーが「プロジェクトの編集」権限を持つプロジェクトで使用されている場合にのみ、VCS ルートを編集できることに注意してください。
ビルド構成テンプレートノードの「template」属性は「templateFlag」に名前が変更されます。
/users/ <locator> /roles および /userGroups/ <locator> /roles の PUT は、必要に応じてロールのリストを受け入れ、単一のロールを受け入れて追加するのではなく、既存のロールを置き換えます。
何も返さなかった PUT および POST リクエストの多くは、作成されたエンティティを返すようになりました。
オープン API の変更
参照してください詳細を (英語)
共有リソースプラグイン
TeamCity 7.1.x で共有リソースプラグイン(英語)を使用した場合は、バンドルされているため、必ず削除してください。アップグレード手順(英語)を参照してください(英語)。
キューマネージャープラグイン
QueueManager プラグイン(英語)を使用した場合は、バンドルされているため、必ず削除してください。アップグレード手順(英語)を参照してください (英語)
同梱の Maven
TeamCity にバンドルされた Maven は、バージョン 3.0.5 にアップグレードされました。
エージェントからサーバーへの HTTPS 接続
エージェントが HTTPS プロトコルで TeamCity サーバーに接続していて、アップグレード後にエージェントが以下のようなエラーメッセージで接続に失敗した場合: javax.net.ssl.SSLHandshakeException: 致命的なアラートを受信しました: handshake_failure
それから、Tomcat SSL コネクターの設定を変更する必要があります。すなわち、SSL コネクターに次の属性を追加して TeamCity サーバーを再起動します。sslEnabledProtocols="TLSv1、SSLv3、SSLv2Hello"
この問題は、サーバーが Java 1.7 のもとで動作している場合にのみ発生します。
関連事項:
7.1.4 から 7.1.5 への変更
teamcity.build.branch パラメーターのセマンティクスが変更されました。https://youtrack.jetbrains.com/issue/TW-23699#comment=27-448002(英語) を参照してください
7.1.3 から 7.1.4 への変更
潜在的な破壊的な変更はありません。
7.1.2 から 7.1.3 への変更
潜在的な破壊的な変更はありません。
弊社の課題追跡システムで、このバージョンの既知の回帰(英語)の最新リストを確認してください。
7.1.1 から 7.1.2 への変更
hg サーバー側チェックアウトで起こりうる問題
7.1.2 リリースには既知の問題がある: TW-24405(英語) は、Mercurial リポジトリでサーバー側のチェックアウト、ラベル付け、ファイルコンテンツの表示が使用されている場合に再現できます。「中止」というメッセージが表示されるエラーが発生した場合: 宛先 'hg1' が空ではありません " の場合は、問題に添付されているパッチをインストールしてください。
その他の既知の問題
課題追跡システムで、そのバージョンの既知の回帰(英語)リストも確認してください。
7.1 から 7.1.1 への変更
潜在的な破壊的な変更はありません。
7.0.x から 7.1 への変更
Windows サービス構成
バージョン 7.1 以降、TeamCity は、以前のバージョンのデフォルトの Tomcat ではなく、TeamCity サーバーに独自のサービスラッピングソリューションを使用します。これにより、TeamCity サービスの構成方法 (データディレクトリと、メモリ設定を含むサーバー起動オプション) が変更され、サービスとコンソールの起動が統合されます。
サーバーの起動プロパティの構成については、更新されたセクションを参照してください。
エージェント Windows サービスは、OS が提供する環境変数の使用を開始しました。エージェントサーバー (および JVM) が x86 プロセスになると、エージェントは x86 環境変数を報告します。この変更により、CPU ビットチェックに影響する可能性があります。報告された環境変数によってマシンが x64 をサポートしているかどうかを確認する方法については、MSDN ブログ(英語)を参照してください。
Windows インストーラーと一緒にインストールされた場合の TeamCity データディレクトリのデフォルトの場所
これは、Windows インストーラーを使用した TeamCity の新規インストールにのみ関係します。既存のインストールをアップグレードする場合、既存の設定は保持されます。
Windows インストーラーは、TeamCity データディレクトリのデフォルトの場所として %ALLUSERSPROFILE%\JetBrains\TeamCity の場所を使用するようになりました。TeamCity 7.0 および以前のバージョンでは、これは %USERPROFILE%\.BuildServer でした。
Windows ドメインログインモジュール
TeamCity サーバーが Windows で実行され、Windows ドメインユーザー認証が使用される場合、TeamCity は別のライブラリ(Waffle)を使用して Windows ドメインと通信するようになりました。Linux では動作は変更されません。jCIFS ライブラリがそのまま使用されます。
ntlm\-config.properties ファイルで jCIFS ライブラリの特定の設定を指定しない限り、インストールには影響はありません。
アップグレード後に Windows ユーザー名 / パスワードを使用して TeamCity にログインする際に問題が発生した場合は、詳細をお知らせください。その間、古い jCIFS ライブラリの使用に切り替えることができます。そのためには、内部プロパティファイルに teamcity.ntlm.use.jcifs=true 行を追加します。
jCIFS ライブラリアプローチは、TeamCity の将来のバージョンでは廃止される可能性があるため、プロパティの指定がなくても問題ない場合は、プロパティの指定は推奨されません。
Git および Mercurial のチェックアウトディレクトリの変更
Git または Mercurial VCS ルートを持ち、デフォルトのチェックアウトディレクトリを使用するビルド構成では、アップグレード時にクリーンチェックアウトが実行されます。クリーンチェックアウトは、変更されたデフォルトのチェックアウトディレクトリ名によってトリガーされます。以降のビルドでは、チェックアウトディレクトリがより積極的に再利用されます (異なるブランチを使用するが同じ VCS ルートを使用するすべてのビルドでは、同じディレクトリが使用されます)。これは、エージェント側およびサーバー側のチェックアウトに影響します。
Perforce エージェントチェックアウトワークスペース名の変更
Perforce エージェント側のチェックアウトを使用するビルド構成では、サーバーのアップグレード後にクリーンチェックアウトが 1 回実行されます。これは、自動的に生成された Perforce ワークスペースの名前が変更されたことに関連しています。
SVN 改訂フォーマット
外部リポジトリで検出された変更については、SVN リビジョンの形式は NNN_MMM:EXTUUID_CHANGEDATE です。ここで、NNN はメインリポジトリの \- リビジョン、MMM は外部リポジトリの \- リビジョン、EXTUUID は外部リポジトリの \- UUID、CHANGEDATE \- は変更タイムスタンプです。この変更は、最後のビルド変更のリビジョンを使用するプラグイン /REST API クライアントに何らかの影響を与える可能性があります。
Microsoft SQL Server を外部データベースとして使用する場合のデフォルトスキーマ
バージョン 7.1 以降、TeamCity はデータベースサーバーの任意のスキーマ内のテーブルを処理できるという点で、以前のバージョンとは異なり、単一のデータベーススキーマでのみ機能します。
TeamCity\ 関連のテーブルは、TeamCity がデータベースに接続するために使用するデータベースユーザーのデフォルトとして設定されているデータベーススキーマに配置されるはずです。
この変更により、TeamCity サーバーがデータベースに接続するために使用するユーザーのデフォルトスキーマを設定するためにデータベースの再設定が必要になる場合があります。
アップグレードを実行する前に、すべての TeamCity 関連テーブルがデフォルトのユーザーのスキーマに配置されていることを確認してください。
デフォルトのユーザーのスキーマが正しく設定されていない場合、TeamCity は「TeamCity データベースが空か、存在しません。続行すると、新しいデータベースが作成されます」と報告されることがあります。新しい TeamCity の最初の起動時にメッセージ。
ユーザーのデフォルトスキーマを変更するには、「alteruser(英語) 」SQL コマンドを使用(英語)します。
デフォルトのスキーマの説明については、対応するドキュメント(英語)の「デフォルトのスキーマ」セクションを参照してください。
オープン API の変更
参照してください詳細を (英語)
7.0.1 から 7.0.4 への変更
潜在的な破壊的な変更はありません。
7.0 から 7.0.1 への変更
HTML レポートタブ URL の変更
ビルドレベルまたはプロジェクトレベルのレポートタブに直接リンクを使用する場合は、アップグレード後にリンクが変更される(英語)ため、リンクを更新してください。この変更は、機能の信頼性を高めるために必要です。
6.5.x から 7.0 への変更
(既知の問題)NUnit や他の .NET テストランナーでビルドがハングアップしたりメモリエラーが発生することがある
影響を受けるのは: .Net テストランナー (NUnit、MSTest、MSpec) および TeamCity NUnit コンソールランチャー。
テストアセンブリへのパスにワイルドカード ("*" ) のない複数のディープパスがある場合に再現します。
目に見える結果: ビルドがハングアップするか、ビルドログの "Starting ... JetBrains.BuildServer.NUnitLauncher.exe" リンクの後に OutOfMemoryException エラーで失敗します。
問題 (TW-20482(英語)) は修正されており、次のリリースに修正が含まれる予定です。
修正パッチが利用可能(英語)です。
Ant ランナーのための最小サポートプロジェクト JDK
このバージョンから、Ant ランナーはランタイムビルド部分で最低でも JDK 1.4 を必要とします (以前は 1.3)。つまり、プロジェクトでコンパイルまたはテストの実行に JDK 1.3 を使用する場合、TeamCity Ant ランナーは使用できません。JDK 1.3 を必要とするプロジェクトの場合は、代わりにコマンドラインランナーを使用し、「XML レポート処理」ビルド機能を構成してテストレポートを解析できます。
サーバーとエージェントでサポートされている Java
このバージョンから始めて、以下の要件
TeamCity サーバーは JRE 1.6 以上 (以前は 1.5) で実行する必要があります。TeamCity .exe ディストリビューションには、適切な Java がすでにバンドルされています。.tar.gz または .war TeamCity ディストリビューションの場合は、サーバーを手動でインストールして構成する必要がある場合があります。
TeamCity エージェントは、 JRE 1.6 以上 (以前は 1.5) で実行する必要があります。エージェントの .exe ディストリビューションには、適切な Java がすでにバンドルされています。.zip エージェントディストリビューションを使用した場合、または TeamCity バージョン 5.0 以前で TeamCity エージェントをインストールした場合は、手動の手順が必要になる場合があります。TeamCity 6.5.x を実行する場合は、既存の TeamCity サーバーのエージェントページを確認してください。接続されたエージェントのいずれかが 1.6 未満の JDK を実行している場合、ページに黄色の警告が表示されます。
プロジェクト / テンプレートパラメーターの上書き
TeamCity 7.0 では、プロジェクトパラメーターはテンプレートで定義されたパラメーターよりも優先されます。つまり、プロジェクト内に名前と値を持つパラメーターがあり、同じプロジェクトのテンプレート内に同じ名前で異なる値を持つパラメーターがある場合、プロジェクトの値が使用されます。これは TeamCity 6.5 ではそうではありませんでしたが、テンプレートが別のプロジェクトに属している場合に、より柔軟になるように変更されまし(英語)た。ビルド構成パラメーターは、通常どおり、最も高い優先順位を持ちます。
Sybase のサポートは終了しています
このバージョンから、外部データベースとしての Sybase のサポートは「実験的」状態に戻ります。
この決定の理由は、データベースが TeamCity で積極的に使用されているようには見えないため、それをサポートするには TeamCity チームからの多大な労力が必要であり、その労力を製品のより重要な領域の改善に向けることができるためです。
まだ可能(英語)ではありますが、Sybase を外部データベースとして使用することはお勧めしません。また、Sybase 関連の問題に対するサポートを提供する予定もありません。
サポートされている他のデータベースのご利用をご検討ください。Sybase をご利用の場合は、TeamCity にアップグレードする前に別のデータベースに移行してください。
REST API の変更
いくつかのオブジェクトに、追加の属性とサブ要素 (BuildType、VcsRoot など) が追加されました。解析コードが引き続き機能することを確認してください。/buildTypes/ パス: BuildType オブジェクトは、runParameters フィールド (および /<locator>/runParameters パス) を削除し、代わりにステップコレクションと /<locator>/steps/ パスを使用しました。
一部のリソースの単一要素配列の非配列 JSON 表現を引き起こすバグ(英語)が修正されました。コードが影響を受けるかどうかを確認してください。
ビルドオブジェクトでは、"dependency\-build" 要素の名前が "snapshot\-dependencies" に変更され、revisions/revision/vcs\-root の名前が history/revision/vcs\-root\-intance に変更され (解決された VCS ルートインスタンスを指すようになりました)、revisions/revision/display\-version の名前が "version" に変更されます。
buildType オブジェクトで、「vcs\-root」要素の名前が「vcs\-root\-entries」に変更されます。
REST API の旧バージョンは、TeamCity 7.0 の /app/rest/6.0/... URL からご利用いただけます。TeamCity の将来のバージョンでは for 6.0 プロトコルのサポートが廃止される可能性があるため、REST API を使用するコードを更新してください。
サポートされている Tomcat の最小バージョン
TeamCity .war ディストリビューションを使用している場合は、Tomcat 5.5 はサポートされなくなりました。Tomcat を 6.0.27 以上のバージョンにアップデートしてください(Tomcat 7 をお勧めします)。
Swabra
エージェント上の Sysinternals handle.exe へのパスを提供するための swabra.handle.exe.path および handle.exe.path 構成パラメーターはサポートされなくなりました。詳細については、プラグインページを参照してください。
オープン API の変更
jetbrains.buildServer.messages.serviceMessages.BuildStatus のような jetbrains.buildServer.messages.serviceMessages パッケージのクラスは、jetbrains.buildServer.messages.Status クラスに依存しなくなりました。コードを TeamCity 6.0 \- 7.0 と互換性を持たせるには、jetbrains.buildServer.messages.serviceMessages.ServiceMessage#asString メソッドを使用できます。例:
オープン API の変更(英語)も参照してください
6.5.4 から 6.5.6 への変更
潜在的な破壊的な変更はありません。
6.5.4 から 6.5.5 への変更
(6.5.6 の既知の問題の感染).NET Duplicates ファインダーが動作しなくなる可能性があります。パッチは入手可能です。https://youtrack.jetbrains.com/issue/TW-18784#comment=27-261174(英語) を参照してください
6.5.3 から 6.5.4 への変更
潜在的な破壊的な変更はありません。
6.5.2 から 6.5.3 への変更
潜在的な破壊的な変更はありません。
6.5.1 から 6.5.2 への変更
Maven ランナー
MAVEN_OPTS の操作がまた変更されました。6.5.x イテレーション内ではこれが最後になることを願っています。(https://youtrack.jetbrains.com/issue/TW-17393(英語) を参照)
TeamCity は次のように動作します。
MAVEN_OPTS が設定されている場合、TeamCity は MAVEN_OPTS から JVM 引数を取ります。
ランナー設定で「JVM コマンドラインパラメーター」が指定されている場合は、MAVEN_OPTS および MAVEN_OPTS はこの値で上書きされ、ネストされた Maven の実行に伝播されますの代わりに使用されます。
6.5 にアップグレードした後に MAVEN_OPTS を使用しないという問題を抱えていて、ビルドを機能させるためにその値を「JVM コマンドラインパラメーター」にコピーする必要があった人々は、今では設定を変更する必要はありません。ビルドは 6.5 または 6.5.1 と同じように機能します。
6.5 から 6.5.1 への変更
(既知の問題を修正)Oracle での長いアップグレード時間と遅いクリーンアップ
6.0.x から 6.5 への変更
(既知の問題)Oracle での長いアップグレード時間と遅いクリーンアップ
最初にアップグレードしたサーバーの起動時にデータベース構造が変換され、Oracle 外部データベース(TW-17094(英語))を使用する場合、これは長時間(大規模データベースでは数時間)かかる可能性があります。これは 6.5.1 ですでに修正されています。
エージェント JVM のアップグレード
このバージョンの TeamCity では、エージェントが使用する JVM の半自動アップグレードが追加されました。エージェントに Java 1.6 がインストールされていて、エージェント自体が Java 1.5 で実行されている場合、TeamCity はエージェントを Java 1.6 に切り替えるように要求します。必要なのは、検出された Java へのパスが正しいことを確認し、この切り替えを確認することだけです。残りは自動的に行われます。この操作はエージェントごとに行われるため、エージェントごとに個別に行う必要があります。TeamCity はいずれ Java 1.5 と互換性がなくなるため、Java 1.6 に切り替えることをお勧めします。新しく選択した java プロセスに同じファイアウォールルールがあることを確認してください。(つまり、サーバーからの接続を受け入れるためにポート 9090 が開かれます)
IntelliJ IDEA カバレッジデータ
TeamCity 6.5 にバンドルされている IntelliJ IDEA カバレッジエンジンによって生成されたカバレッジデータは、IntelliJ IDEA 10.5\+ でのみ読み込むことができます。カバレッジデータ形式の変更により、古いバージョンの IntelliJ IDEA ではサーバーからカバレッジを読み込むことができません。
IntelliJ IDEA 8 はサポートされていません
IntelliJ IDEA 用のプラグインは、IntelliJ IDEA 8 をサポートしません。
サポートされていない MySQL のバージョン
MySQL 5.1.x のバグ(英語)のため、TeamCity は 5.1 \- 5.1.48 の範囲の MySQL バージョンをサポートしなくなりました。サポートされていない MySQL バージョンが検出されると、TeamCity は適切なメッセージを表示して起動しません。MySQL サーバーをバージョン 5.1.49 以降にアップグレードしてください。
仕上げビルドのプロパティが表示されます
完成したビルドは、ビルドで使用されているすべてのプロパティをパラメータータブに表示するようになりました。これは他のビルド(特定のビルドがアーティファクトまたはスナップショットの依存関係として使用するもの)からのパラメーターの名前と値を潜在的に公開する可能性があります。これがあなたの環境で許容できることを確認してください。タブを表示しているユーザーには、デフォルトで " プロジェクト開発者 " ロールが割り当てられている " ビルドランタイムパラメーターとデータの表示 " アクセス許可を使用して管理することもできます。
PowerShell ランナー同梱
PowerShell プラグイン(英語)を手動でインストールした場合は、.BuildServer/plugins から削除してください。新しいバージョンが TeamCity にバンドルされています。
設定の場所を変更しました
XML テストレポート設定は、ランナー設定から専用のビルド機能に移動されます。
スナップショット依存関係を持つビルドに対する「最後のビルド」アーティファクト依存関係は、自動的に専用の「同じチェーンからのビルド」ソースビルド設定に変換されます。
責任は「調査」に変更されます
失敗したビルド構成またはテストに割り当てられた責任は、調査と呼ばれるようになりました。これは、アクションをより中立的にするための用語の変更にすぎません。
TeamCity 調査割り当てアクティビティのメール処理ルールがある場合は、新しいテキストパターンを使用するために更新する必要があるかどうかを確認してください。
REST API の変更
いくつかのオブジェクトに、追加の属性とサブ要素 (ビルドの参照の「startDate」、変更の「personal」など) が追加されました。解析コードが引き続き機能することを確認してください。
デフォルト以外のチェックアウトディレクトリの消去
以前のリリースでは、絶対パスを使用してビルドチェックアウトディレクトリを明示的に指定すると、TeamCity はディレクトリの内容をクリーンアップしてディスクの領域を解放しませんでした。
これはもう当てはまりません。
チェックアウトディレクトリに絶対パスが指定されていて、他のビルドまたはマシン環境のためにエージェントにディレクトリが存在する必要がある場合は、system.teamcity.build.checkoutDir.expireHours プロパティを "never" に設定してビルドを再実行してください。カスタムチェックアウトディレクトリの使用は推奨されないことに注意してください。
system.teamcity.build.checkoutDir.expireHours プロパティの 1 つを使用していて、チェックアウトディレクトリが自動削除されないように "never" に設定されている場合、TeamCity のアップグレード後にディレクトリが一度削除されることがあります。アップグレード後(そして前回のビルドから 8 日以内)にビルド構成でビルドを実行すると、ディレクトリは " 保護された " 動作を維持し、TeamCity によって自動的に削除されません。
空きディスク容量
このリリースでは、以前はビルド構成プロパティの設定によってのみ利用可能だった空きディスク容量が UI に公開されます。
古いプロパティは引き続き機能し、優先されますが、削除し、代わりに「ディスクスペース」ビルド機能を使用して値を指定することを強くお勧めします。将来の TeamCity バージョンでは、手動で指定されたプロパティが考慮されなくなる可能性があります。
コマンドラインランナー
コマンドエコーをオフにする @echo off が、「カスタムスクリプト」ランナーパラメーターによって提供されるスクリプトに追加されます。コマンドエコーを有効にするには、スクリプトに @echo on を追加します。
Windows トレイ通知機能
Windows トレイ通知をアンインストールして再度インストールすることでアップグレードする必要があります。残念ながら、古いバージョンの Windows トレイ通知の問題により、自動アップグレードは機能しません。
Maven ランナー
以前の TeamCity バージョンでは、Maven は 'mvn' シェルスクリプトを呼び出すことによって実行されていました。一部のパラメーターは MAVEN_OPTS で指定でき、一部は UI で指定できました。Maven ビルドランナーは、これら 2 つ (
%MAVEN_OPTS%+jvmArgs) を連結して独自の MAVEN_OPT を作成しました。この場合、一部のパラメーターが MAVEN_OPTS と UI で 2 回 \- に指定された場合、MAVEN_OPTS で指定されたものだけが有効でした。TeamCity 6.5 以降、Maven ランナーは直接 java コマンドを形成します。このアプローチはさまざまな問題を解決しますが、MAVEN_OPTS がもはや有効ではなく、すべての JVM コマンドラインパラメーターを MAVEN_OPTS ではなくビルドランナー設定で指定する必要があることも意味します。TeamCity 6.0.x で Maven リリースビルドの確実な XML レポートを手動で設定しなければならなかった人は、そうしないとテストがレポートされなかったため、その必要はなくなりました。TeamCity 6.5 の確実なテストは release:prepare または release:perform ゴールによって実行され、自動的に検出されます。そのため、ビルド構成設定で確実な XML レポートをオフにして、二重レポートを回避することを忘れないでください。
メール送信設定
アップグレード後にメール送信設定が正しく機能していることを確認してください (管理> サーバー構成> EMail Notifier のテスト接続を使用)。認証が不要な場合は、ログインフィールドとパスワードフィールドが空白であることを確認してください。SMTP サーバーが認証要求を期待していない場合、空白でないフィールドがあるとメール送信エラーが発生する可能性があります。
XML レポート処理
Ant JUnit XML レポートからのテストは、TESTS\-xxx.xml レポートを自動的に無視しなくなったため、2 回レポートされる可能性があります (TW-19058(英語) を参照)。
この問題を回避するには、*.xml マスクの使用を避け、TEST\-*.xml などのより具体的なルールを指定します。これにより、名前が "TESTS\-" で始まるレポートと一致しなくなります。
オープン API の変更
TeamCity オープン API ではいくつかの戻り値の型が変更されているため、プラグインを引き続き動作させるには、新しい TeamCity バージョンに対して再コンパイルする必要がある場合があります。
また、一部の API は非推奨となり、今後のリリースでは廃止される予定です。非推奨の API を使用しないようにプラグインを更新することをお勧めします。
オープン API の変更(英語)も参照
6.0.2 から 6.0.3 への変更
潜在的な破壊的な変更はありません。
6.0.1 から 6.0.2 への変更
Maven と XML のテストレポートでエージェントに CPU がかかる
Maven または XML テスト報告者を使用しており、ビルドが CPU を集中的に使用する場合は、既知の問題(英語)が重要になる場合があります。パッチが利用可能で、次の更新で修正されています。
6.0 から 6.0.1 への変更
潜在的な破壊的な変更はありません。
5.1.x から 6.0 への変更
Visual Studio アドインと Perforce
Perforce が有効になっている場合、TeamCity 6.0 VS アドインに重大なバグがあります。これにより、Visual Studio がハングしたりクラッシュしたりする可能性があります。修正されたアドインバージョンが利用可能です。(関連問題 (英語))。この問題は TeamCity 6.0.1 で修正されています。
エージェントの TFS チェックアウト
エージェント上の TFS チェックアウトがエラーで動作を拒否する場合があります。パッチが利用可能です。コメント(英語)を参照してください。関連する問題(英語)。この問題は TeamCity 6.0.1 で修正されています。
優先度クラス変更エラー
優先クラスの優先番号を変更するときにブラウザーエラーが発生する場合があります。パッチは関連する問題(英語)で入手できます。この問題は TeamCity 6.0.1 で修正されています。
IntelliJ IDEA の互換性
IntelliJ IDEA 6 および 7 は、IntelliJ IDEA 用の TeamCity プラグインではサポートされなくなりました。
また、IntelliJ IDEA X (またはその他の JetBrains IDE) にアップグレードする予定がある場合は、この既知の問題を確認してください。
ビルド失敗通知
TeamCity 6.0 は、ビルドスクリプトの実行中に発生したビルド失敗と、ビルドの準備中に発生したビルド失敗を区別します。後者の場合に発生するエラーは「起動に失敗した」エラーと呼ばれ、Web UI からはデフォルトで非表示になっています(ビルドの設定ページのキャンセルを表示してビルドを開始できなかったオプションを参照)。
TeamCity 6.0 以降、「ビルドを開始できませんでした」という別の通知ルールがあり、これは「開始できませんでした」ビルドに適用されます。その他のすべてのビルド失敗通知は、ビルドスクリプト関連の失敗に関連しています。
アップグレード時に、" ビルドに失敗しました " という通知が表示されているすべてのユーザーは、古い動作を維持するために " ビルドに失敗しました " オプションを自動的に取得します。
プロパティの変更
teamcity.build.workingDir プロパティは、非ランナー設定では使用できなくなりました。下位互換性のため、このプロパティは非ランナー設定でサポートされ、最初に定義されたビルドステップの作業ディレクトリに解決されます。
Swabra と Build Queue Priorities プラグインがバンドルされています
以前にプラグインをインストールしたことがある場合は、アップグレードされた TeamCity バージョンを起動する前に削除してください(通常は .BuildServer/plugins 形式)。
Maven ランナー
1.5 より古い Java は、Maven ランナーのエージェント部分ではサポートされなくなりました。Maven ランナー設定で 1.6\+ JVM を指定するか、JAVA_HOME がそのような JVM を指していることを確認してください。
NUnit と MSTest のテスト
TeamCity UI (sln および MSBuild ランナー) で NUnit または MSTest テストを構成していた場合、設定はランナーから抽出され、対応するタイプの新しいランナーに変換されます。
テストの起動の実装が変更され、相対パスの使用に影響していることに注意してください。TeamCity 6.0 では、作業ディレクトリとすべての UI\ 指定のワイルドカードは、ビルドのチェックアウトディレクトリに基づいて解決されますが、以前は .sln ファイルを含むディレクトリに基づいて解決されていました。シンプルな設定は TeamCity のアップグレード時に変換されますが、ランナーに適切な設定が含まれていることを確認する必要がある場合があります。
ビルド構成プロパティでの "%\" エスケープ
現在、ビルド構成設定で定義された値内の 2 つのパーセント記号 (%%\) は、1 つのパーセント記号のエスケープとして扱われます。アップグレード時に既存の設定が変換され、以前のバージョンと同様に機能します。ただし、予期しない "%\" 記号関連の問題が発生した場合は、設定を確認する必要がある場合があります。
. フレームワークプロパティが設定パラメーターとしてレポートされる
以前の TeamCity バージョンでは、インストールされた .Net フレームワーク、Visual Studios、および Mono は、ビルドエージェントのシステムプロパティとして報告されていました。
これにより、プロパティがビルドスクリプトで使用できるようになりました。ビルドスクリプトにプッシュされる TeamCity 固有のプロパティの数を減らすために、値は構成パラメーター (つまり、「system.」接頭辞なし) を介して報告されるようになり、デフォルトではビルドスクリプトで使用できなくなりました。これらは、接頭辞「system.」なしで、以前の名前で %\- 参照を介してビルド構成設定で引き続き使用できます。
Ipr ランナーは IntelliJ IDEA プロジェクトランナーのために廃止予定です
IntelliJ IDEA プロジェクトのランナーは完全に書き直されます。これは「IntelliJ IDEA プロジェクト」ランナーとは呼ばれません。以前使用可能だった Ipr ランナーも保持されますが、非推奨としてマークされており、TeamCity の今後のメジャーリリースの 1 つで削除されます。既存のビルド構成を新しいランナーに移行することを強くお勧めします。
新しいランナーはテストを実行するために異なるアプローチを使用することに注意してください: IntelliJ IDEA で共有実行構成を作成し、ランナー設定でそれを参照する必要があります。
インスペクションおよび重複データのクリーンアップ
6.0 からは、インスペクションと Duplicates のビルドレポートは、ビルドの履歴が削除されたときにクリーンアップされ、ビルドのアーティファクトが以前のようにクリーンアップされたときにクリーンアップされません。
インスペクションおよび重複ランナーには Java 1.6 が必要です
「インスペクション」および「重複 (Java)」ランナーには、Java JDK 1.6 が必要になりました。関連するエージェントに Java 1.6 がインストールされていること、およびランナーの「JDK ホームパス」設定で指定されていることを確認してください。
XML レポート検証
ビルドランナーの XML レポート処理セクションの設定が無効な場合は、アップグレード時にレポートパスを指定する必要があります。というメッセージが表示されたビルド構成が表示されることがあります。この場合は、ランナー設定に移動して設定を修正してください。(関連する問題 (英語))
オープン API の変更
オープン API の変更(英語)を参照してください。devPackage 内のいくつかの jar が並べ替えられました。いくつかは runtime サブディレクトリに移動されました。これらの変更に対応するようにプラグインプロジェクトを更新してください。
REST API の変更
いくつかのオブジェクトに属性とサブ要素が追加されました。解析コードが引き続き機能することを確認してください。
Perforce クリーンチェックアウト
Perforce チェックアウトを使用するすべてのビルドは、サーバーのアップグレード後にクリーンチェックアウトを行います。これは、アップグレード後の最初の数時間でサーバーに大きな負荷をかける可能性があり、多くのビルドが「ソースの転送」段階にある間はサーバーが応答しなくなる可能性があることに注意してください。
5.1.2 から 5.1.3 への変更
コマンドラインランナーの実行可能ファイルへのパス
バグ(英語)は完全に修正されました。動作は 5.1 以前のビルドと同じです。
5.1.1 から 5.1.2 への変更
Jabber 通知送信エラーが管理者用 Web UI に再び表示されます(これらのメッセージは 5.1.1 では無効にされていました)。Jabber 通知を使用しない場合は、Jabber 設定サーバー設定ページで Jabber 通知を一時停止してください。
5.1 から 5.1.1 への変更
コマンドラインランナーの実行可能ファイルへのパス
バグ(英語)は部分的に修正されました。作業ディレクトリが指定されており、チェックアウトと作業ディレクトリの両方にスクリプトがある場合を除いて、動作は 5.1 以前のビルドと同じです。作業ディレクトリのスクリプトが使用されます。
ソリューションランナーおよび MSBuild ランナーのスクリプトファイルへのパス
バグ(英語)は修正されました。動作は 5.1 以前のビルドと同じです。
5.0.3 から 5.1 への変更
通知テンプレートの変更
5.1 以降、TeamCity は新しいテンプレートエンジン (Freemarker) を使用して通知メッセージを生成します。新しいデフォルトテンプレートが提供され、アップグレード前に行われたテンプレートのカスタマイズは有効ではなくなりました。
このアップグレードの前に通知テンプレートをカスタマイズした場合は、新しい通知テンプレートを確認し、必要に応じて変更してください。古い通知テンプレートは <TeamCity Data Directory>/config/_trash/_notifications ディレクトリにコピーされます。新しいテンプレートと新しい拡張カスタマイズ機能を楽しみましょう。
外部データベースドライバの場所
JDBC ドライバを WEB-INF/lib ではなく <TeamCity Data Directory>/lib/jdbc ディレクトリに配置できるようになりました。新しい場所を使用することをお勧めします。詳細は外部データベースの設定を参照してください。
PostgresSQL jdbc ドライバーは TeamCity インストールパッケージにバンドルされなくなったため、アップグレード時に自分でインストールする必要があります。
データベース接続プロパティ
データベース接続プロパティテンプレートファイルの名前が変更され、<TeamCity Data Directory>/config ディレクトリの database.<database-type>.properties.dist ファイルに配置されます。彼らは .dist ファイルの規則に従っています。
database.properties ファイルをデータベース用の新しいテンプレートファイルと比較して確認し、特にカスタマイズしていないオプションを削除することをお勧めします。
デフォルトのメモリオプションの変更
PermGen メモリスペースのデフォルトのメモリオプションを変更しました。-Xmx JVM オプションを約 1.3G に変更し、32 ビット JVM で実行している場合、次のようなメッセージが表示されてサーバーの起動に失敗することがあります。「VM の初期化中にエラーが発生しました。オブジェクトヒープに十分なスペースを予約できませんでした。Java 仮想マシンを作成できませんでした。」
この場合は、次のどちらかを検討してください。
Vault Plugin はバンドルされています
このバージョンでは、SourceGear Vault VCS プラグイン (英語) (実験的ステータス) をバンドルしました。以前にインストールしていた場合は、必ず .BuildServer/plugins からプラグインをアンインストールしてください (プラグインの ZIP を削除するだけです)。
コマンドラインランナーの実行可能ファイルへのパス作業ディレクトリがランナーで指定されている場合、実行可能ファイルへのパスを変更する必要があるバグ(英語)が導入されます。このバグは 5.1.1 で部分的に修正され、5.1.3 で完全に修正されています。
ソリューションランナーおよび MSBuild ランナーのスクリプトファイルへのパス
ランナーで作業ディレクトリが指定されている場合、スクリプトへのパスを変更する必要があるというバグ(英語)が発生しました。このバグは 5.1.1 で修正されています。
オープン API の変更
オープン API の変更(英語)を参照
5.0.2 から 5.0.3 への変更
潜在的な破壊的な変更はありません。
5.0.1 から 5.0.2 への変更
外部変更ビューアー
relativePath 変数は、チェックアウトルールのないファイルの相対パスに置き換えられました。以前の値は、relativeAgentPath を介してアクセスできます。詳細については、TW-10801(英語) を参照してください。
5.0 から 5.0.1 への変更
潜在的な破壊的な変更はありません。
4.5.6 から 5.0 への変更
5.0 以前の Enterprise Server ライセンスと Agent ライセンスはアップグレードが必要です
バージョン 5.0 では、アップグレードポリシーの変更を発表します: 5.0 へのアップグレードは無料ではありません。5.0 以降に購入したすべてのライセンス (サーバーおよびエージェント) は、ライセンス購入後 1 年以内にリリースされたすべての TeamCity バージョンで動作します。詳細情報については、公式サイトのライセンスとアップグレードセクションを参照してください。
バンドルプラグイン
5.0 にバンドルされているスタンドアロンプラグインを使用していた場合は、.BuildServer/plugins ディレクトリからプラグインを削除することを忘れないでください。新しくバンドルされたプラグインは次のとおりです。
Mercurial
Git (JetBrains)
REST API (以前 YouTrack で提供されていた)
その他のプラグイン
TeamCity にバンドルされていないプラグインを使用する場合は、最新バージョンを使用しており、5.0 リリースと互換性があることを確認してください。たとえば、Groovy プラグ(英語)およびその他のプロパティを提供する拡張機能の最新バージョンが必要になります。5.0 より前の通知プラグインでは、テストごとの通知や責任の割り当ての通知がサポートされていない可能性があります。
古いプロパティ
システムプロパティ "build.number.format" と環境変数 "BUILD_NUMBER_FORMAT" は削除されました。ビルドでビルド番号の形式を使用する必要がある場合(理由を教えてください)、ビルド番号の形式を %system.<property name>% として定義し、ビルド構成で <property name> システムプロパティを定義できます(それがビルドに渡されます)。
Oracle データベース
Oracle データベースで TeamCity を使用する場合は、TeamCity Oracle ユーザーに追加の特権を追加する必要があります。それをするためには、ユーザ SYS として Oracle にログインし、実行して下さい
PostgreSQL データベース
TeamCity 5.0 は PostrgeSQL バージョン 8.3\+ をサポートします。
したがって、PostgreSQL サーバーのバージョンが 8.3 未満の場合は、アップグレードする必要があります。
オープン API の変更 オープン API の変更(英語)を参照してください
4.5.2 から 4.5.6 への変更
潜在的な破壊的な変更はありません。
4.5.1 から 4.5.2 への変更
これは 4.5.2 リリースの Rake ランナーに関する重大な問題です。詳細と修正パッチは TW-8485(英語) を参照してください。
4.5.0 から 4.5.1 への変更
潜在的な破壊的な変更はありません。
4.0.2 から 4.5 への変更
デフォルトのユーザロール
新規ユーザーにデフォルトとして割り当てられたロールは、" すべてのユーザー " グループに移動され、TeamCity にすでに登録されているすべてのユーザーに効果的に付与されます。
サーバーの再起動中にビルドを実行する
サーバーのアップグレード中に実行中のビルドがないことを確認してください。サーバーの再起動中に実行されるビルドがあり、これらのビルドにテストが含まれている場合、ビルドはキャンセルされ、ビルドキュー (TW-7476(英語)) に再度追加されます。
LDAP 設定の名前変更
LDAP 統合が構成されている場合は、新しいサーバーの最初の始動時にいくつかの設定が自動的に変換されます。名前が変更された設定は次のとおりです。
formatDN—teamcity.auth.formatDNに名前が変更されますloginFilter—teamcity.auth.loginFilterに名前が変更されます
4.0.1 から 4.0.2 への変更
最初のクリーンアップ時間の増加
更新後の最初のサーバーのクリーンアップには、大幅に時間がかかる場合があります。さらにクリーンアップすると、通常の時間に戻るはずです。この最初のクリーンアップ中に、削除されたビルド構成に関連付けられたデータがクリーンアップされます。TeamCity バージョン 4.0 および 4.0.1 のバグのため、以前はクリーンアップされませんでした。
4.0 から 4.0.1 への変更
「importData」サービスメッセージ引数 ID 引数の名前が type に変更され、ファイルが path に変更されました。この変更は下位互換性があります。新しい構文の例については、サービスメッセージの使用セクションを参照してください。
3.1.2 から 4.0 への変更
初期起動時間
TeamCity の新しいバージョンの最初の起動時に、データベース構造がアップグレードされます。このプロセスにより、サーバーの起動時間が長くなる可能性があります。最初の起動には、通常の起動よりも最大 20 分かかることがあります。この時間は、ビルド履歴のサイズ、ビルド内のテストの平均数、サーバーハードウェアに依存します。
アップグレード後、ユーザーは強制的に再ログインする必要があります
アップグレードすると、すべてのユーザーは自動的にログオフされ、ブラウザーで TeamCity Web UI に再度ログインする必要があります。アップグレード後の最初のログイン後は、自分を記憶機能は通常どおり動作します。
以前の IntelliJ IDEA バージョンのサポート
このリリースの IntelliJ IDEA プラグインは、IntelliJ IDEA 6.x バージョンとの互換性がなくなりました。サポートされている IDEA のバージョンは 7.0.3 および 8.0 です。
ビルドで VCS のリビジョンを使う
build.vcs.number.N システムプロパティは、build.vcs.number.<escaped VCS root name> プロパティ(またはルートが 1 つしかない場合は build.vcs.number のみ)に置き換えられます。ビルドスクリプトでプロパティを使用した場合は、使用箇所を手動で更新するか、互換モードをオンにする必要があります。ビルド構成設定内のプロパティへの参照は自動的に更新されます。対応する環境変数も影響を受けています。続きを読む
テストスイート
TeamCity がテストスイートを処理し始めたという事実により、スイート名が定義されたテストは新しいテストとして扱われます (これらのテストではテスト履歴を最初から始めることができます。)
アーティファクト依存パターン
アーティファクト依存関係パターンは Ant のようなワイルドカード(英語)をサポートするようになりました。
ディレクトリ名を一致させるために "" パターンに依存していた場合は、単一の "*" ではなく "/" を使用するようにパターンを調整してください。
拡張子のないファイルのみをダウンロードするために "" パターンに依存していた場合は、そのために "." を使用するようにパターンを更新してください。
Ivy を使用したアーティファクトのダウンロード
Ivy タスクを使用してビルドスクリプト (Ant build.xml など) からアーティファクトをダウンロードした場合は、ivyconf.xml ファイルを変更し、そこから「統合」以外のすべてのステータスを削除する必要があります。次のページから ivyconf.xml ファイルを参照できます。https://www.jetbrains.com/help/teamcity/4.0/configuring-dependencies.html
ブラウザーキャッシュ (IE)
Internet Explorer で更新されたアイコン (実行ボタンなど) を強制的に使用するには、ページの再読み込み (Ctrl + Shift + R) を強制するか、「一時インターネットファイル」を削除する必要がある場合があります。
3.1.1 から 3.1.2 への変更
潜在的な破壊的な変更はありません。
3.1 から 3.1.1 への変更
潜在的な破壊的な変更はありません。
3.0.1 から 3.1 への変更
ゲストユーザーとエージェントの詳細
バージョン 3.1 からは、Guest ユーザーはエージェントの詳細ページにアクセスできなくなりました。これは、エージェントの環境に関する機密性の高い情報の公開を減らすために行われました。Enterprise Edition では、Guest ユーザーのロールをユーザーおよびグループページで編集して、必要なレベルの権限を付与できます。
StarTeam サポート
使用中の作業フォルダー
バージョン 3.1 以降の StarTeam リポジトリからファイルをチェックアウトする TeamCity は、以前のバージョンのようにフォルダー名だけではなく、作業フォルダー名に基づいてディレクトリ構造を構築します。そのため、バージョン 3.0 で TeamCity が StarTeam フォルダーを操作する方法に満足している場合は、作業フォルダーの名前が対応するフォルダー名と同じであることを確認してください(デフォルトはそうです)。
また、StarTeam では作業フォルダーとして絶対パスを使用できますが、TeamCity は相対パスのみをサポートし、絶対パスの存在を検出しないことにも注意してください。注意して構成を確認してください。
StarTeam URL パーサ修正
バージョン 3.0 では、ユーザーは間違った URL スキームに従っているに違いありません。これは starteam://server:49201 /project/view/rootFolder/subfolder/ ... のようなもので、ユーザーがデフォルト以外のビューを参照しようとしたときには機能しませんでした。バージョン 3.1 では、ネイティブの StarTeam URL パーサーが利用されます。つまり、URL でルートフォルダーを指定する必要がなくなり、前の例は starteam://server:49201 /project/view/subfolder/ ... のようになります。
3.0 から 3.0.1 への変更
Linux エージェントのアップグレード
Linux でのエージェントのアップグレードに関する問題により、エージェントのアップグレード後もエージェントの補助ランチャープロセスが実行されたままになっている可能性があります。バージョン 3.0.1 以降ではこの問題は修正されています。古い実行中のプロセスを削除するには、自動エージェントアップグレード後にエージェントを停止し (
agent.sh killコマンドを使用)、実行中のjava jetbrains.buildServer.agent.Launcherプロセスをすべて終了して、エージェントを再起動してください。
2.x から 3.0 への変更
互換性のない変更
TeamCity 3.0 では、TeamCity 2.x と互換性のないいくつかの変更が導入されています。
build.working.dir システムプロパティは teamcity.build.checkoutDir に名前変更されます。このプロパティを使用してスクリプトを作成する場合は、スクリプトを更新してください。
runAll.batスクリプトは、サーバーとエージェントを起動するための start と、サーバーとエージェントを停止するための stop という必須パラメーターを受け入れるようになりました。Windows では、
agent.batスクリプトは必須パラメーターを受け入れるようになりました: エージェントを起動するには start、エージェントを停止するには stop。この場合、エージェントはアイドル状態 (ビルドが実行されない状態) になった後にのみ停止されることに注意してください。エージェントを即時に停止するには、Windows と Linux (agent.sh stop force) の両方で使用できるagent.bat stop forceコマンドを使用します。Linux では、agent.sh stop forceに応答しないエージェントを停止するためにagent.sh stop killコマンドを使用することもできます。
作業ディレクトリを構築する
TeamCity 3.0 では、プロジェクトごとではなくビルド構成ごとに VCS ルートを構成する機能が導入されたため、エージェントでビルド構成ソースがチェックアウトされるデフォルトのディレクトリに、生成された名前が付けられるようになりました。ビルド構成で使用されるディレクトリを知る必要がある場合は、ビルド構成とそれらが使用するディレクトリをリストする <agent home>/work/directory.map ファイルを参照できます。ビルドチェックアウトディレクトリも参照してください。
TeamCity 1.x/2.x/3.x Professional から 3.x Enterprise にアップグレードする際のユーザーロール
TeamCity 1.x/2.x/3.x Professional から 3.x Enterprise に初めてアップグレードする場合、TeamCity のアカウントにはデフォルトで次のロールが割り当てられます。
管理者はシステム管理者になる
ユーザーはすべてのプロジェクトのプロジェクト開発者になる
ゲストアカウントはすべてのプロジェクトを閲覧することができます
すべてのプロジェクトでデフォルトユーザーロールが Project Developer に設定されている
1.x から 2.0 への変更
データベース設定移動
データベース設定を <TeamCity installation folder>/ROOT/WEB-INF/buildServerSpring.xml ファイルから TeamCity 構成データディレクトリ(<TeamCity Data Directory>/config)にある database.properties ファイルに移動します。
.NET インスペクションおよび継承された複製
teamcity.TruncateIgnoreReasonConverter.copyReasons :
以前のバージョンで導入された一時ツールフォルダー(英語)のバグが修正(英語)されました。
関連ページ:
サービスメッセージ
サービスメッセージは、ビルドに関するコマンド / 情報をビルドスクリプトから TeamCity サーバーに渡す特別に構成されたテキストです。TeamCity、それらはビルドの標準出力ストリームに書き込まれる必要があり、ビルドステップから出力またはエコーされますによって処理されます。例:echo ##teamcity[<messageName> 'value']echo
並列テスト
TeamCity は、テストを複数のビルドエージェントに分散することでテストの実行を並列化できるようになり、テストの全体的な期間を最小限に抑えることができます。ビルドのテストは自動的にバッチに分割でき、各バッチは個別のビルドエージェントで実行されます。この機能は、ビルドが複数のエージェントのリソースを利用して技術的に並行して実行できる一方で、結果的に同じエージェントで多くの独立したテストを実行する場合の一般的なユースケースに対応します。以前は、このような動作をエミュレートするために、一部のユーザ...
TeamCity データディレクトリ
TeamCity データディレクトリは、TeamCity サーバーが構成、ビルド結果、現在の操作ファイルを保存するために使用するファイルシステム上のディレクトリです。このディレクトリは、すべての構成設定の 1 次ストレージであり、TeamCity のインストールに不可欠なデータを保持します。ビルド履歴、ユーザーとそのデータ、その他のデータはデータベースに保存されます。ディレクトリとデータベースに保存されるデータの説明については、バックアップに関する注意事項を参照してください。このドキュメントや他...
レシピの操作
レシピは、1 つまたは複数の標準 TeamCity ステップに基づいたカスタムビルドステップです。TeamCity の組み込みステップに必要なオプションがなく、頻繁にエミュレートする場合 (たとえば、CLI ステップを使用してクラウドプロバイダー API 経由でアーティファクトをアップロードする場合)、このカスタムステップを再利用可能なレシピとして保存できます。レシピを作成することは、カスタムビルドステップを実装する TeamCity プラグインを開発するよりも簡単な代替手段です。重要なポイント...
エージェント Docker イメージ
TeamCity エージェントを手動でインストールして必要なビルドソフトウェアをセットアップする代わりに、次のことを実行できます。必要な JetBrains「TeamCity エージェント」Docker イメージを取得します。「最小限」(サードパーティツールのない基本エージェントイメージ) と通常 / 完全な (Git や .NET ランタイムなどの複数のツールがバンドルされた) Docker イメージから選択できます。コマンドを実行して、TeamCity エージェントが内部で実行されているコン...
Git
TeamCity は、Git をすぐにサポートします。Azure DevOps Services を使用した Git ソース管理がサポートされています (以下の認証に関する注意事項を参照)。このページには、VCS ルート設定の Git 固有のフィールドの説明が含まれています。一般的な VCS ルートプロパティについては、このセクションを参照してください。注意事項: リモート実行とテスト済みのコミットは IntelliJ IDEA プラグインでサポートされています。Visual Studio アドインで...