問題の報告
TeamCity の実行中に問題が発生し、それがソフトウェアに関連していると思われる場合は、問題の詳細な説明を添えて弊社までご連絡ください。
問題を解決するには、システムに関するさまざまな情報とさまざまなログが必要になる場合があります。以下のセクションでは、さまざまな問題についてそのような情報を収集する方法について説明します。
問題を報告する際のベストプラクティス
これらのガイドラインに従うことで、タイムリーな対応と効果的な問題解決が保証されます。適切な連絡方法については、フィードバックを確認してください。
サポートのリクエストを送信するときは、次の一般情報を含めてください :
ビルド番号を含む使用中の TeamCity バージョン(これはフッターと
teamcity-server.logにあります)。また、使用されているオペレーティングシステムと Java バージョンを含める価値があります。問題の発生パターン(初回、繰り返しなど)を記録します。過去に緩和された場合は、最近の環境変更があったかどうかを記録します。具体的に: 正確な時間、エラーメッセージを書き留め、予想される動作と実際の動作の両方を記述します。
可能な限り、TeamCity UI の関連スクリーンショット (キャプチャーには常にページ全体とブラウザーの URL を含める) を含め、関連する設定ファイル、実際の値、REST API エンティティ表現の詳細を提供します。
エラーメッセージやその他の関連テキストメッセージ (イメージではなくテキストとして) を含める場合は、完全なメッセージと、そのメッセージが表示された場所を含めます。メッセージが数行を超える場合は、ファイルとしてチケットに添付します。
3 つ以上のファイルを送信する場合は、ファイルを単一のアーカイブにパッケージ化します。
10Mb を超えるファイルを送信する場合は、大きなデータアーカイブのアップロードのガイドに従ってください。
特定の問題に関するその他の役立つヒント :
必要に応じて、TeamCity サーバーログを含むアーカイブを添付 / アップロードします ( 詳細を参照してください。理想的には、すべてのディレクトリを含む
<server_home>\logsディレクトリ全体。現実的でない場合は、発行時刻前後に更新されたすべてのファイル)。ビルド時間またはエージェントの動作に関連している場合は、<agent_home>\logsディレクトリ全体を添付します。パフォーマンス / 速度低下 / 遅延の問題については、問題が発生している間にサーバーまたはエージェントのスレッドダンプのセット (問題発生時間にわたって 10 個以上) を取得し、関連データとともにダンプを必ず送信してください。
YouTrack 課題トラッカー(英語)に問題が存在するかどうかを確認することを検討してください。ここでは、ほとんどのバグとエッジ条件を特定します。後の TeamCity バージョンで問題がすでに修正されている可能性があります。
ビルドロジックに問題がある場合は、それが TeamCity 関連の問題である (つまり、TeamCity のない同じ環境では再現しない) ことを確認し、調査の詳細を含めてください。
ビルド手順の問題を報告する場合は、同じ環境のエージェントマシンで TeamCity なしで問題を再現し、結果をお知らせください。
特定のビルドが影響を受ける場合は、完全なビルドログ (ビルド結果のビルドログタブから専用リンク経由でダウンロード) を含めます。
ログ内の機密データを置換またはマスキングする場合、使用される置換パターンに注意してください。
ウイルス対策ソフトウェアがインストールされている場合や、TeamCity サーバーの前にネットワークプロキシまたはリバースプロキシがある場合は、この情報をリクエストに含めてください。
インストールされているバンドルされていないプラグインをリストします。
TeamCity データディレクトリまたはデータベースの以前の変更に注意してください。
テキストデータの大部分(10Kb を超える)をメールテキストに含めないでください。ファイルに添付してください。
投稿については次のガイドラインを考慮する :
すでに報告された問題に関する新しい詳細を投稿する場合、新しいものを作成する代わりに、トピックに関する以前の投稿を更新します。ただし、重複したトピックを作成する必要がある場合は、作成または発見した同じトピックに関する以前の投稿をすべてメモしてください。
最も重要な問題を最初に、提出ごとに 1 つの問題を投稿してください。複数の提出を行う場合、それらが関連している場合、他の問題をメモします。
収集して当社に送信する一般的なケースと特定の情報については、以下のセクションを確認してください。
スローネス、ハンギング、低パフォーマンス
TeamCity の速度が予想よりも遅い場合は、以下の注意事項を使用して、遅いプロセスを見つけ、プロセスが TeamCity のものである場合に関連するすべての詳細を送信してください。
どのプロセスが遅いかを判断する
TeamCity Web UI の応答が遅い、変更プロセスの確認、サーバー側ソースのチェックアウト、クリーンアップに時間がかかる、その他のサーバーアクティビティが遅いなどの問題が発生する場合は、TeamCity サーバーがインストールされているマシンをターゲットにする必要があります。
問題が単一のビルドにのみ関連している場合は、ビルドを実行している TeamCity エージェントマシンとサーバーを調査する必要があります。
システムリソース (CPU、メモリ、IO) の負荷を調査します。負荷が高い場合は、その原因となっているプロセスを特定します。TeamCity 関連のプロセスでない場合は、TeamCity スコープ外のアドレス指定が必要になる場合があります。また、ウイルス対策ソフトウェア、メンテナンス時間などの一般的な速度低下の理由も確認してください。
CPU/IO をロードしているのが TeamCity サーバーであるか、実質的な CPU/IO 負荷がなく、TeamCity を除いてすべてが正常に実行される場合、これをさらに調査する必要があります。
マシンでウイルス対策などの競合するソフトウェアが実行されていないかどうかを確認します。テスト目的で一時的に無効にすることを検討してください。ただし、セットアップのセキュリティが損なわれないようにしてください。
TeamCity が使用するデータベースと TeamCity データディレクトリのファイルストレージにパフォーマンスの問題がないことを確認してください。
大規模な TeamCity インストールがある場合は、最初のステップとしてメモリ設定を確認してください。
データを収集する
スロー操作中に、5-10 秒間隔で、スロープロセスのスレッドダンプをいくつか取得します(アプローチを行うスレッドダンプについては以下を参照)。速度が低下し続ける場合は、スレッドダンプをさらに数回(たとえば、数分以内に 3 〜 5)取り、プロセスがまだ遅い間にしばらく(たとえば、10 分)後に繰り返します。
そして、送信私たちのスレッドダンプとフルサーバー(またはエージェント)に伴う問題の詳細な説明ログの問題をカバーします。何らかの理由で望ましくない場合を除いて、推奨される方法は、問題を課題追跡(英語)システムに提出し、サポートメールで通知することです。CPU/IO の負荷情報、特に遅いものとそうでないもの、影響を受ける URL、目に見える影響など、調査に関連するすべての詳細を含めてください。大量のデータについては、ファイルアップロードサービスを使用してアーカイブを共有してください。
サーバースレッドダンプ
サーバーの操作が遅い場合は、遅い時間にわたってサーバーのスレッドダンプのセット (10\+) を取得します。TeamCity は、非常に遅い操作のスレッドダンプを自動的に保存するため、logs/threadDumps-<date> ディレクトリにすでにいくつか保存されている可能性があります。最近のすべての日付について、サーバーの <TeamCity Home> /logs/threadDumps-<date> ディレクトリの内容全体のアーカイブを送信することをお勧めします。
ハングがローカルで発生しており、TeamCity 管理ページをまだ開くことができる場合は、Web UI から TeamCity サーバーのスレッドダンプを取得することをお勧めします。管理 | サーバー管理 | 診断ページに移動し、スレッドダンプの保存ボタンをクリックして、 <TeamCity Home> /logs/threadDumps-<date> ディレクトリ (後で「サーバーログ」からファイルをダウンロードできる場所) にダンプを保存します。サーバーが完全に起動しているが、Web UI が応答しない場合は、TeamCity サーバーの実際の URL を使用して直接 URL (英語) を試してください。
UI にアクセスできない場合 (またはサーバーがまだ完全に起動していない場合) は、以下に説明する方法を使用して、サーバーのスレッドダンプを手動で取得できます。
また、teamcity.diagnostics.requestTime.threshold.ms=30000 内部プロパティを調整してタイムアウトを変更することもできます。タイムアウトを超える時間がかかったユーザー発信の Web リクエストがある場合、TeamCity ログの threadDumps-<date> ディレクトリにスレッドダンプが自動的に作成されます。
サーバースレッドダンプの自動取得
TeamCity サーバーは、設定された間隔で複数のスレッドダンプを自動的に取得できます。このために、次の内部プロパティを追加する必要があります。
teamcity.diagnostics.periodicThreadDumps.name- スレッドダンプファイル名の接尾辞として使用する名前teamcity.diagnostics.periodicThreadDumps.count- 保存するスレッドダンプの数teamcity.diagnostics.periodicThreadDumps.period.ms- 各スレッドダンプ間の待機時間 (ミリ秒)
プロパティが追加されると、サーバーはスレッドダンプの取得を開始します。すべてのスレッドダンプは、 <TeamCity Home> /logs/threadDumps-<date> ディレクトリに保存されます。
エージェントのスレッドとメモリダンプ
Web UI からエージェントスレッドダンプを取得することをお勧めします。エージェントページのエージェント概要タブに移動し、エージェントのスレッドをダンプするアクションやエージェントのメモリスナップショットをダンプするアクションを使用します。

UI にアクセスできない場合は、以下で説明する方法を使用してダンプスレッドを手動で取得できます。
スレッドダンプの取得
これらは、TeamCity Web UI からスレッドダンプを取得できない場合に役立ちます。
スレッドダンプを取得するには:
Windows の下
いくつかのオプションがあります:
サーバーがコンソールから実行されている場合にサーバースレッドダンプを取得するには、コンソールウィンドウで Ctrl+Break (一部のキーボードでは Ctrl+Pause) を押します (エージェントのコンソールはランチャープロセスに属しているため、この方法はエージェントでは機能しません)。サーバーがサービスとして実行されている場合は、サービスで構成されているのと同じユーザーでログインし、
<TeamCity server home>\bin\teamcity-server.bat runコマンドを実行して、コンソールから実行してみてください。もう 1 つの方法は、TeamCity サーバープロセスの ID (コマンドラインの末尾に「org.apache.catalina.startup. Bootstrap start」がある最上位の「java」プロセス) を調べて、次の方法を使用することです。
プロセスで使用されていた Java インストールの
binディレクトリでjstack <pid_of_java_process>を実行します(Java ホームはプロセスコマンドラインで検索できます。インストールにjstackユーティリティがない場合は、java -versionを介して Java バージョンを取得する必要があります。コマンドを実行し、同じバージョンの完全な JDK をダウンロードして、そこにあるjstackフォームを使用します)。コマンドに-Fフラグを指定する必要がある場合もあります。TeamCity にバンドルされているエージェントスレッドダンプツールを使用します(エージェントのプラグインにあります)。次のコマンドを実行します。
<TeamCity agent>\plugins\stacktracesPlugin\bin\x86\JetBrains.TeamCity.Injector.exe <pid_of_java_process>ハングしているプロセスをサービスとして実行する場合は、スレッドダンプツールを昇格されたアクセス許可を持つコンソールから実行する必要があることに注意してください(管理者として実行を使用)。サービスがシステムアカウントで実行されている場合は、
PsExec.exe(英語)-s <path to the tool>\<tool> <options>を介してスレッドダンプツールを起動する必要がある場合もあります。サービスが通常のユーザーで実行されている場合は、ツールの呼び出しをPsExec.exe -u <user> -p <password> <path to the tool>\<tool> <options>でラップすることも役立つ場合があります。
サービスとして実行されているサーバーでこれらのどちらも機能しない場合は、サーバーをサービスとしてではなくコンソールから実行してみてください。この方法では、最初のオプション (Ctrl\+Break) を使用できます。
Linux の下
jstack <pid_of_java_process>(プロセスで使用される Java インストールの jstack を使用) またはkill -3 <pid_of_java_process>を実行します。後者の場合、出力は<TeamCity Home>/logs/catalina.outまたは<TeamCity agent home>/logs/error.logに表示されます。
上記のサーバーのパフォーマンスセクションも参照してください。
データベース関連のスローダウン
サーバーが遅い場合、問題がデータベース操作によって引き起こされているかどうかを確認します。データベース固有のツールを使用することをお勧めします。
debug-sql サーバーログプリセットを使用することもできます。有効にすると、1 秒以上かかるすべてのクエリが teamcity-sql.log ファイルに記録されます。teamcity.sqlLog.slowQuery.threshold 内部プロパティを設定することで時刻を変更できます。値はミリ秒単位で設定する必要があり、デフォルトでは 1000 です。
MySQL
サーバースレッドダンプとともに、MySQL コンソールで実行された show processlist; SQL コマンドの出力を必ず添付してください。スレッドダンプの場合と同様に、遅延が発生した場合にコマンドを数回実行して出力を送信するのは理にかなっています。また、my.ini の変更で実行された長いクエリのログを保持するように MySQL をセットアップできます。
ログは分析のために当社に送信することもできます。
メモリ不足の問題
TeamCity がメモリを大量に消費する問題、またはログで「OutOfMemoryError」/「Java ヒープスペース」エラーが発生する場合は、次の手順を実行します。
エラーが発生したプロセス(実際の構築プロセス、TeamCity サーバー、TeamCity エージェント)を判別します。TeamCity Web UI の管理 | サーバー管理 | 診断ページのチャートを使用して、TeamCity によるメモリと CPU の使用量を追跡できます。
問題がサーバー側にある場合は、本番環境でサーバーを使用するためのデフォルトのメモリ設定からメモリ設定を増やしていることを確認してください(セクションを参照)。
問題がビルドプロセス側にある場合は、ビルドランナーで「JVM コマンドラインパラメーター」設定を設定します。
-XmxJVM オプションの値を増やします (例:-Xmx1200m)。Java インスペクションビルドでは、特に-Xmx値を増やす必要がある場合があることに注意してください。問題が TeamCity サーバー側にあり、メモリサイズを増やしても問題が解決しない場合は、調査のためにケースを報告してください。サーバーはメモリの消費量に高いですが、これについては、説明するように、いくつかのサーバースレッドダンプを取る上でメモリダンプを取得し、(下記参照)と
threadDumps-*サブディレクトリを含むすべてのサーバーログ、結果をアーカイブし、送信するために私たちにさらなる分析。ダンプを取得する前に、-Xmx設定が 8Gb 未満であることを確認してください。メモリダンプ(
hprofファイル)が自動的に作成される場合、java_xxx.hprofファイルはプロセス起動ディレクトリ(<TeamCity Home>/binまたは<TeamCity Agent home>/bin)に作成されます。サーバーの場合、メモリ使用量がピークに達したときに手動でメモリダンプを取得することもできます。TeamCity UI の管理 | サーバー管理 | 診断ページに移動し、ダンプメモリスナップショットをクリックします。
メモリダンプを手動で取得する別のアプローチは、プロセスで使用される Java と同じバージョンの完全な JVM インストールの
jmap標準 JVM コマンドラインユーティリティを使用することです。コマンドラインの例は次のとおりです。jmap -dump:file=<file_on_disk_to_save_dump_into>.hprof <pid_of_the_process>
「開いているファイルが多すぎます」エラー
発生するコンピューターを判別する
多くのファイルとファイルリストを開いたプロセスを特定する (Linux では
lsofを使用し、Windows ではソケットの一覧表示にハンドル(英語)または TCPView(英語) を使用できます。)数が数千未満の場合は、OS とファイルハンドルのプロセス制限 (Linux では
ulimit -nを使用) を確認し、必要に応じて増やしてください。Linux のデフォルトのプロセスあたり 1024 ハンドルは、TeamCity のようなサーバーアプリケーションには少なすぎることに注意してください。少なくとも 16000 に数を増やしてください。OS にはグローバル制限とセッションごとの制限の設定が異なるため、変更後に実際のプロセス制限を確認してください。(例: 投稿(英語)を参照)
ファイルの数が多くて疑わしく、ロックプロセスが TeamCity の場合 (他の Web アプリケーションが実行されていない TeamCity エージェントまたはサーバー)、問題がまだ発生している間に、開いているハンドルのリストを数分間隔で数回取得し、関連する詳細とともに結果を調査のために弊社に送信してください。
ほとんどの場合、アプリケーションの正常な機能を回復するには、調査後にエラーでマシンを再起動する必要があることに注意してください。
エージェントはサーバーに接続しません
よくある問題を参照してください。
イベントのログ
TeamCity サーバーとエージェントは、問題の調査に使用できるログを作成します。
詳細については、対応するセクションを参照してください。
バージョン管理デバッグログ
ほとんどの VCS 操作は TeamCity サーバーで行われますが、エージェント側のチェックアウトを使用している場合、ビルドエージェントで VCS チェックアウトが行われます。
エージェントとサーバーの場合、 <TeamCity Home> /conf/teamcity-server-log4j.xml または <BuildAgent home> /conf/teamcity-agent-log4j.xml ファイルで Log4j 構成を手動で変更して、次のフラグメントを含めることができます。
<appender name="ROLL.VCS"> ノードを更新して、保存するファイルの数を増やしてください。
特定のバージョン管理に個別のログオプションがある場合は、以下で説明します。
Subversion デバッグロギング
エージェント側のロギングには、代替の手動アプローチも必要です。
まず、上記の説明に従って、汎用 VCS デバッグログを有効にします。
サーバーおよびエージェント(エージェント側のチェックアウトが使用されている場合)上の Log4j 構成ファイルの SVN 関連部分(SVN.LOG アペンダーおよび javasvn.output カテゴリ)のコメントを外します。ログは logs/teamcity-svn.log ファイルに保存されます。汎用 VCS ログも logs/teamcity-vcs.log から取得する必要があります
ClearCase
<TeamCity Home> /conf/teamcity-server-log4j.xml ファイル内の Clearcase 関連の行のコメントを解除します。ログは logs/teamcity-clearcase.log ディレクトリに保存されます。
パッチ適用の問題
サーバー側のチェックアウトを使用する場合、サーバーからエージェントに渡される「パッチ」は次の方法で取得できます。
プロパティ
system.agent.save.patch=trueをビルド構成に追加します。ビルドをトリガーします。ビルドログとエージェントログには、「パッチがファイル $\{file.name\} に保存されます」という行が含まれます。ファイルを取得し、問題の説明を添えてください。
ビルドはデバッグログをトリガーする
TeamCity 2021.1 以降のすべてのビルドトリガーデバッグログを収集するには、管理 | 診断ページのログプリセットを debug-triggers に切り替え、問題を再現してから、すべての teamcity-triggers.log ファイルを収集します。
2021.1 より前の TeamCity バージョンでは、特定のビルド構成で定義された VCS トリガーのデバッグログを有効にすることのみが可能です。
デフォルトのログプリセットファイル
<TeamCity Home>/conf/teamcity-server-log4j.xmlを取得し、<TeamCity Data Directory>/config/_logging/ディレクトリに別の名前で保存します。結果のファイルを次のように変更します。
新しいトリガーを追加して、VCS トリガー関連イベントを別のファイルに記録します。
<appender name="ROLL.VCS.TRIGGER" class="jetbrains.buildServer.util.TCRollingFileAppender"> <param name="file" value="${teamcity_logs}/teamcity-vcs-trigger.log"/> <param name="maxBackupIndex" value="20"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d] %6p [%15.15t] - %30.30c - %\m%n"/> </layout> </appender>次のように、
jetbrains.buildServer.buildTriggers.vcs.AllBranchesVcsTrigger_<build configuration id>という名前の新しいカテゴリを追加します。
<category name="jetbrains.buildServer.buildTriggers.vcs.AllBranchesVcsTrigger_MyBuildConfigurationId"> <priority value="DEBUG"/> <appender-ref ref="ROLL.VCS.TRIGGER"/> </category>注: 上記の例では、
MyBuildConfigurationIdは、デバッグする VCS トリガーを含むビルド構成の ID です。管理 | 診断ページのログ記録プリセットを新しく作成したプリセットファイルに切り替えます。
サーバーの再起動は必要ありません。構成が正しい場合、TeamCity は teamcity-vcs-trigger.log ログファイルを数分で作成します。ファイルには、選択した構成のみに関連するデバッグログが含まれます。
.NET ランナーのロギング
.NET 関連のランナーのプロセス起動の問題を調査するには、以下の説明に従ってデバッグを有効にします。その後、詳細情報がビルドログに出力されます。デバッグログを長時間保持せず、調査後に設定を元に戻すことをお勧めします。
ログ記録を有効にする別の方法は次のとおりです。ビルド構成またはエージェントに teamcity.agent.dotnet.debug=true 構成パラメーターを追加し、ビルドを実行します。
<agent home>/plugins/dotnetPlugin/binディレクトリを開きます。teamcity-log4net.xmlのバックアップコピーを作成します。teamcity-log4net.xmlをteamcity-log4net-debug.xmlのコンテンツに置き換えます。
リモート実行の問題
リモート実行時に IDE からサーバーに送信される変更は、サーバーの .BuildServer/system/changes ディレクトリから取得できます。変更に対応する <change_number>.changes ファイルを見つけます (使用可能な最新の番号を選択するか、Web UI から変更の URL を推測できます)。ファイルにはバイナリ形式のパッチが含まれています。問題の説明とともに送信してください。
IntelliJ IDEA/ プラットフォームベースの IDE へのログイン
IntelliJ プラットフォームベースの IDE プラグインのデバッグログを有効にするには、<IDE home>/bin/log.xml ファイルの Log4j 構成に次のフラグメントを含めます。
このファイルを変更した後、IDE を再起動します。TeamCity プラグインのデバッグログは idea-teamcity\* ファイルに保存され、IDE 設定のログディレクトリ(<IDE settings/Data Directory>/system/log ディレクトリ)に表示されます。
IDE 機能ログで開く
IntelliJ IDEA を起動する前に次の JVM オプションを追加します:
-Dteamcity.activation.debug=true
IDE で開く機能に関連するログが IDE コンソールに表示されます。
リモート実行に適したビルド構成が見つかりません
まず、IDEA の VCS 設定が TeamCity の VCS 設定に対応していることを確認します。そうでない場合は、変更して問題を解決する必要があります。
次に、IDEA プロジェクトに適したビルド構成にサーバー側の VCS チェックアウトモードまたはエージェント側のチェックアウトがあり、手動 VCS チェックアウトモードではないことを確認します(TeamCity はそれを適用する必要があるため、手動チェックアウトモードでビルドに個人用パッチを適用することはできません) VCS チェックアウトの完了後にパッチを適用しますが、実行時間を認識または管理しません)。
設定が同じで、手動チェックアウトモードを使用しないが、問題がある場合は、次を実行します。
IDEA VCS 設定と TeamCity VCS 設定を提供してください (IDEA プロジェクトに適していると予想されるビルド構成)
TeamCity IntelliJ プラグインのデバッグログを有効にする ( 上記参照)
TeamCity サーバーのデバッグログを有効にする ( 上記参照)
TeamCity IntelliJ プラグインで、リモート実行ビルドを開始してみてください
TeamCity IntelliJ プラグインおよび TeamCity サーバーからのデバッグログを提供してください。
TeamCity Visual Studio アドインの問題
TeamCity アドインロギング
TeamCity Visual Studio アドインからログをキャプチャーするには:
Visual Studio インストールディレクトリを見つけます (以下の例では、
c:\Program Files (x86)\Microsoft Visual Studio\2017\Common7\IDE)ReSharper 関連のコマンドライン引数を使用して、コマンドラインから Microsoft Visual Studio 実行可能ファイル (
INSTALLATION_DIRECTORY\Common7\IDE\devenv.exe) を実行します。ReSharper Ultimate の一部としての TeamCity VS アドインの場合、
/ReSharper.LogFile <PATH_TO_FILE>および/ReSharper.LogLevel <Normal|Verbose|Trace>スイッチを使用しますc:\Program Files (x86)\Microsoft Visual Studio\2017\Common7\IDE>devenv.exe /ReSharper.LogFile C:\Users\jetbrains\Desktop\vs.log /ReSharper.LogLevel VerboseTeamCity VS アドインのレガシーバージョンの場合、
/TeamCity.LogFile <PATH_TO_FILE>および/TeamCity.LogLevel <Normal|Verbose|Trace>スイッチを使用します
Visual Studio ロギング
一般的な Visual Studio のトラブルシューティングを行うには、 /Log (英語) コマンドラインスイッチを使用して Microsoft Visual Studio 実行可能ファイル INSTALLATION_DIRECTORY\Common7\IDE\devenv.exe を実行し、結果のログファイルをお送りください。
dotCover の問題
JetBrains dotCover によって生成された追加のログを収集するには、ビルド構成に teamcity.agent.dotCover.log 構成パラメーターを追加します。このパラメーターには、dotCover ログを保持する空のエージェントディレクトリへの絶対パスまたは相対パスを格納する必要があります。これらのログをビルドアーティファクトとして公開する必要がある場合は、同じディレクトリパスをアーティファクトパスのリストに追加します。
JVM クラッシュ
まれに、TeamCity サーバーまたはエージェントプロセスが明らかな理由もなく予期せず終了することがあります。これは、Java ランタイムのクラッシュが原因である可能性があります。
このような状況が発生すると、JVM はプロセスの作業ディレクトリに hs_err_pid*.log という名前のファイルを定期的に作成します。作業ディレクトリは通常、 <TeamCity server home> /bin または <agent home> /bin です。
Windows では、サービスとして実行されている場合、C:\Windows\SysWOW64 などの他の形式になることがあります。また、ディスク上で名前に「hs_err_pid」が含まれる最近のファイルを検索することもできます。このドキュメント(英語)の関連する「致命的なエラーログ」セクションも参照してください。
調査のためこのファイルを弊社まで送信し、サーバー (またはエージェント ) の JVM を最新バージョンに更新することを検討してください。
クラッシュ時またはクラッシュレポートファイルに「Java ランタイム環境を続行するにはメモリが不足しています。ネイティブメモリ割り当て (malloc) の割り当てに失敗しました ...」というメッセージが表示される場合は、必ず 64 ビット JVM に切り替えるにするか、-Xmx 設定を 1024m 未満に減らしてください。詳細については、メモリ構成セクションを参照してください。
ビルドログの問題
ビルドログに関連する問題を調査する際に、TeamCity によって保存された生のバイナリビルドログが必要になる場合があります。これは、ビルドログビルドのタブから Web UI を介してダウンロードできます。「詳細」ログ詳細を選択し、右上隅の「生のメッセージファイル」リンクを使用します。
IntelliJ IDEA インスペクション
TeamCity ビルドのインスペクション結果は、IntelliJ IDEA でのローカル実行のインスペクションと一致しない場合があります。
インスペクションの問題を調査するには、次の手順を実行します。
構成パラメーターに
system.teamcity.dont.delete.temp.result.dir=trueを追加する%system.teamcity.build.tempDir%/inspection*result/** => inspections-reports-data-%build.number%.zipルールをアーティファクトパスに追加します%system.teamcity.build.tempDir%/idea-logs/** => inspections-reports-idea-logs-%build.number%.zipルールをアーティファクトパスに追加しますランナーの JVM コマンドラインパラメーターフィールドに
-Didea.log.path=%system.teamcity.build.tempDir%/idea-logs/を追加します。新しいビルドを実行します。
inspections-reports-*.zipファイルを送ってください。
大きなデータアーカイブのアップロード
サイズが 10 MB 未満のファイルは、トラッカーの問題(英語)に直接添付できます (添付ファイルを一般公開したくない場合は、添付ファイルの表示を「teamcity-developers」ユーザーグループのみに制限します)。
小さなファイル(最大 2MB)をメールで送信することもできます: teamcity-support@jetbrains.com またはオンラインフォーム (英語)(最大 20 MB) 経由で送信してください。添付する前に、必ず TeamCity のバージョンと環境を明記し、ファイルをアーカイブしてください。
大きなファイルは https://uploads.jetbrains.com/ (英語) を介してアップロードできます。アップロード後、正確なファイル名をお知らせください。
大きなファイルを一度にアップロードできない場合は、ファイルを部分に分割して、個別にアップロードしてみてください。
関連ページ:
サポートとトラブルシューティング
TeamCity で問題が発生した場合は、まずよくある問題および既知の問題ページをチェックして、発生している問題に関する既存のガイダンスがあるかどうかを確認することをお勧めします。追加のサポートが必要な場合は、いくつかの便利なオプションをご用意しています。課題トラッカー (公開、非公開オプションあり): バグや機能リクエストを記録します。サポートチケット (プライベート): 有効なエンタープライズサーバーライセンスをお持ちのお客様のみが、サポートチームから直接サポートを受けることができます。コミュニ...
TeamCity サーバーを起動
サーバーの起動:TeamCity がまたはディストリビューションを使用してインストールされている場合、ディレクトリにあるスクリプトによって起動および停止できます。スクリプトは、(同じコンソールで実行)、(新しい分離プロセスを開始してスクリプトを終了)、およびコマンドを受け入れます。TeamCity を再起動するには、を送信し、停止したらを送信します。(評価のみ)TeamCity サーバーと 1 つのデフォルトエージェントを同時に起動 / 停止するには、スクリプトを使用、例: を使用して、サーバー...
TeamCity データディレクトリ
TeamCity データディレクトリは、TeamCity サーバーが構成、ビルド結果、現在の操作ファイルを保存するために使用するファイルシステム上のディレクトリです。このディレクトリは、すべての構成設定の 1 次ストレージであり、TeamCity のインストールに不可欠なデータを保持します。ビルド履歴、ユーザーとそのデータ、その他のデータはデータベースに保存されます。ディレクトリとデータベースに保存されるデータの説明については、バックアップに関する注意事項を参照してください。このドキュメントや他...
ビルドパラメーターの設定
パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は 3 種類のパラメーターをサポートしています。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...
JetBrains dotCover
TeamCity は JetBrains dotCover のコンソールランナーにバンドルされています。バンドル版に加えて、JetBrains dotCover コマンドラインツールの別のバージョンをインストールしたり、管理 | ツールページを使用してデフォルトを変更したりできます。ビルドステップの .NET カバレッジセクションで適切なオプションを選択すると、.NET プロジェクトのコードカバレッジを収集し、TeamCityWebUI 内のカバレッジ統計と詳細なカバレッジレポートを表示できます。do...
チケットベースのサポート
メンテナンスが有効な TeamCity エンタープライズサーバーライセンスを所有している弊社のサポートチームに直接チケットを送信できます。各チケットは弊社のサポートエンジニアの 1 人に割り当てられ、サポートエンジニアがお客様の質問や問題に回答し、問題の診断を支援します。無料の Professional Server ライセンスを使用している場合は、サポートとトラブルシューティングページにアクセスして、問題を提起したりコミュニティに参加したりする他の方法を探すことができます。サポートレベル:J...