TeamCity オンプレミス 2025.11 ヘルプ

TeamCity データディレクトリ

TeamCity データディレクトリは、TeamCity サーバーが構成、ビルド結果、現在の操作ファイルを保存するために使用するファイルシステム上のディレクトリです。このディレクトリは、すべての構成設定の 1 次ストレージであり、TeamCity のインストールに不可欠なデータを保持します。

ビルド履歴、ユーザーとそのデータ、その他のデータはデータベースに保存されます。ディレクトリとデータベースに保存されるデータの説明については、バックアップに関する注意事項を参照してください。

このドキュメントや他の TeamCity 資料では、このディレクトリはしばしば .BuildServer と呼ばれています。別の名前が付いている場合は、.BuildServer を実際の名前に置き換えてください。

TeamCity データディレクトリの場所

現在使用されているデータディレクトリの場所は、実行中の TeamCity サーバーインスタンスの管理 | グローバル設定ページで確認できます。参照リンクをクリックすると管理 | グローバル設定 | データディレクトリの参照タブが開き、ユーザーはディレクトリ内の新しいファイルをアップロードしたり、既存のファイルを変更したりできます。

現在のデータディレクトリの場所は、logs/teamcity-server.log ファイルでも確認できます (サーバーの起動時に「TeamCity データディレクトリ : 」行を探します)。

場所の構成

TeamCity データディレクトリの場所を設定するには、次の 3 つの方法があります。

  • 最初のサーバー起動時に UI フォームで選択します。指定されたデータディレクトリは、 <TeamCity home directory> /conf/teamcity-startup.properties ファイルに保存されます。

  • TEAMCITY_DATA_PATH 環境変数を使用して手動で設定します。この変数はシステム全体に適用することも、TeamCity サーバーを起動したユーザーに対して定義することもできます。

  • teamcity.data.path JVM プロパティを指定して手動。

最初の起動時に、TeamCity が環境変数として構成されたデータディレクトリの場所を見つけると、関連する起動画面をスキップして、検出されたパスを使用します。

TEAMCITY_DATA_PATH 環境変数が設定されておらず、 <TeamCity home directory> /conf/teamcity-startup.properties ファイルでも定義されていない場合、デフォルトの TeamCity データディレクトリの場所はユーザーのホームディレクトリになります (たとえば、Linux では $HOME/.BuildServer、Windows では %USERPROFILE%/.BuildServer になります)。

データディレクトリの場所の選択に関する推奨事項

データディレクトリにはすべてのサーバーと構成されたプロジェクトの設定が保存されるため、対応するアクセスレベルを持たない OS ユーザーが読み取りや書き込みを行えないことが重要です。関連するセキュリティノートを参照してください。

デフォルトでは、system ディレクトリには、履歴にあるビルドのすべてのアーティファクトとビルドログが保存され、サイズがかなり大きくなる可能性があるため、TeamCity データディレクトリをシステム以外のディスクに配置することをお勧めします。古いビルドの自動クリーニングを構成するには、クリーンアップページを参照してください。単一のローカルディスクにすべてのアーティファクトを保存できない場合は、別のディスクを追加して、複数のアーティファクトパスを構成できます。

TeamCity は、TeamCity データディレクトリへの信頼性のある永続的な読み取り / 書き込みアクセスを想定しており、データディレクトリにアクセスできなくなると誤動作する可能性があることに注意してください。この誤動作は、ディレクトリが使用できない間、TeamCity の動作に影響を与える可能性があり、現在実行中のビルドのデータも破損する可能性があります。TeamCity は時々データディレクトリにアクセスできないことを許容できるはずですが、まれに、ディレクトリに保存されているデータが破損したり部分的に失われたりする場合があります。

<TeamCity Data Directory> /system/caches は、ローカルディスクまたは別の専用ディスクに保存することをお勧めします。特に、TeamCity データディレクトリがネットワークストレージにある場合はそうです。メインディレクトリから caches ディレクトリへのシンボリックリンクを作成するか、TEAMCITY_SERVER_OPTS 環境変数で指定できる teamcity.caches.path JVM システムプロパティを使用してパスを再定義することができます。例:

TEAMCITY_SERVER_OPTS=-Dteamcity.caches.path=<path to local caches directory>

caches ディレクトリには、VCS リポジトリのローカルクローンが格納されます。そのため、良好なパフォーマンスを提供することが重要です。ディレクトリの内容が失われた場合、再構築され、データは失われません。

設定ファイルをバージョン管理にアップロードする

TeamCity を設定して、.BuildServer/config ディレクトリ (_trash サブフォルダーを除く) から外部 VCS リポジトリにファイルをプッシュすることができます。この設定により、次のことが可能になります。

  • すべての構成変更を監視します。サーバー構成ファイルへの各編集は個別のコミットとして自動的にプッシュされるため、変更履歴を確認して調査できます。

  • 設定ファイルが破損した場合は、サーバーを復元します。ロールバックするには、TeamCity サーバーをシャットダウンし、以前のリポジトリリビジョンからファイルを .BuildServer/config ディレクトリにプルします。

サーバーの構成ファイルを保存するリポジトリを設定するには:

Settings repository
  1. 構成ファイルによって機密データが公開されないように、データディレクトリを保護します。

    • パスワード、シークレット、SSH キー、その他の機密データを保護するために、カスタム暗号化キーを設定します。これには、TEAMCITY_ENCRYPTION_KEY 環境変数の使用をお勧めします。

    • 管理 | グローバル設定ページから再暗号化プロセスを開始します。このアクションにより、新しいカスタム暗号化キーが既存のすべての機密値に適用されます。

    • 外部データベースの認証情報を config/database.properties ファイルから対応する環境変数に移動します。TeamCity は完全に起動する前にデータベース接続を必要とするため、このファイルを暗号化しません。そのため、これらの値を環境変数に移動して隠すのが最適です。

    さらに、構成ファイルが保存されている Git リポジトリには、信頼できるユーザーのみがアクセスできることを確認してください。

  2. 管理 | 構成リポジトリに移動します。

  3. 設定ファイルの変更を configs リポジトリにコミットするにチェックマークを付けます。

  4. リポジトリへのパスを SSH 形式で入力します。

  5. 構成ファイルを保存するリポジトリブランチの完全な名前 (heads/refs/<name>) を入力します。

  6. TeamCity が SSH 経由でリポジトリにアクセスできるように、秘密鍵をアップロードします。

自動インクリメンタープラグイン(英語)をご利用の場合は、最新バージョンにアップデートすることをお勧めします。

TeamCity データディレクトリの構造

TeamCity データディレクトリの config サブディレクトリには TeamCity プロジェクトの設定が含まれ、system サブディレクトリにはビルドログ、アーティファクト、データベースファイル(デフォルトで内部データベース(HSQLDB)が使用されている場合)が含まれます。また、手動バックアップと復元に関する情報を検討して、どのデータがデータベースに保管されていて、どれがファイルシステムに保管されているかをよりよく理解することもできます。

  • BuildServer/config — プロジェクト、ビルド構成、一般的なサーバー設定が保存されるディレクトリ。

    • _trash — 削除されたプロジェクトのバックアップコピー。手動で削除しても問題ありません。プロジェクトの復元の詳細については、使い方を確認してください。

    • notifications — 通知テンプレートと通知構成設定。

    • logging内部サーバーのログ構成ファイル。新しいファイルをディレクトリに手動で追加できます。

    • projects — すべてのプロジェクト関連の設定が含まれるディレクトリ。各プロジェクトには独自のディレクトリがあります。プロジェクト階層は使用されず、すべてのプロジェクトは「プロジェクト」の直下に対応するディレクトリを持ちます。

      • <projectID><projectID> ID を持つプロジェクトのすべての設定 (ビルド構成設定を含み、サブプロジェクト設定は除く) を含むディレクトリ。必須のネストされたファイルがある場合、新しいディレクトリを作成できます。ルートディレクトリには、ルートプロジェクトの設定が含まれます。ディレクトリに *.xml.N ファイルがある場合は、Web UI 経由でプロジェクト構成が変更されたときに作成された対応するファイルのバックアップコピーです。これらのバックアップコピーは、TeamCity では使用されません。

        • buildNumbers — 対応するビルド構成の現在のビルド番号カウンターを格納する <buildConfigurationID>.buildNumbers.properties ファイルを含むディレクトリ。

        • buildTypes — 対応するビルド構成またはテンプレート設定を持つ <buildConfiguration or template ID>.xml ファイルを含むディレクトリ。

        • pluginData — オプションのプラグイン関連のプロジェクトレベルの設定を保存するディレクトリ。バンドルされたプラグイン設定とカスタムプロジェクトタブなどの補助プロジェクト設定は、ディレクトリの plugin-settings.xml ファイルに保存されます。バージョン管理ごとに VCS の外部に保存された資格情報は、secure/credentials.json ファイルに保存されます。

        • vcsRoots — ファイル <VcsRootID>.xml にプロジェクトの VCS ルート設定を含むディレクトリ。

        • project-config.xmlパラメータークリーンアップ規則などのプロジェクト設定を含むプロジェクト構成ファイル。

    • main-config.xml — サーバー全体の構成設定。

    • database.properties — データベース接続設定については、外部データベースの設定を参照してください。

    • license.keys — TeamCity に入力されたライセンスキーを保存するファイル。

    • change-viewers.properties外部変更ビューアー構成プロパティ(使用可能な場合)。

    • internal.properties — さまざまな内部 TeamCity プロパティを指定するためのファイル。デフォルトでは存在しないため、必要に応じて作成する必要があります。

    • auth-config.xml — サーバー全体の認証関連の設定を格納するファイル。

    • ldap-config.propertiesLDAP 認証構成プロパティ。

    • ntlm-config.propertiesWindows ドメイン認証構成プロパティ。

    • issue-tracker.xml — トラッカー統合設定を発行します。

    • backup-config.xml — WebUI バックアップ構成設定。

    • roles-config.xml — ロール - 権限割り当てファイル。

    • database.*.properties — さまざまな外部データベースのデフォルトのテンプレート接続設定ファイル。

    • *.dtd — XML 構成ファイルの DTD ファイル。

    • *.dist.dist のない対応するファイルのデフォルトのテンプレート構成ファイル。以下を参照してください。

  • .BuildServer/plugins — TeamCity プラグインを保存して、TeamCity の開始時に自動的にロードできるディレクトリ。新しいプラグインをディレクトリに追加できます。サーバーが稼働していないときに、既存のものを削除できます。プラグインの構造はプラグインのパッケージング(英語)で説明されています。

    • .tools — このディレクトリを作成して、すべてのエージェントにインストールするツールを一元化します。このフォルダーにあるフォルダーまたは .zip ファイルはすべてのエージェントに配布され、エージェントホームディレクトリフォルダーに表示されます。

  • .BuildServer/system — ビルド結果データが保存されるディレクトリ。ディレクトリの内容は TeamCity によって生成され、手動編集用ではありません。

    • artifacts — ビルドのアーティファクト、ログ、その他のデータが保存されるデフォルトのディレクトリ。アーティファクトストレージの形式は <project ID>/<build configuration name>/<internal_build_id> です(内部ビルド ID の詳細を参照してください)。必要に応じて、各ビルドのディレクトリ内のファイルを手動で追加 / 削除できます。これは、対応するビルドのアーティファクトに反映されます。

      • .teamcity サブディレクトリには、ビルドの非表示のアーティファクトとビルドログが保存されます(以下を参照)。ファイルは必要に応じて手動で削除できますが、ビルドによってファイルに裏付けられた対応する機能が失われるため、お勧めしません。(ビルドログのように、スナップショットの依存関係としてのビルドの再利用、カバレッジレポートなど、完成したビルドパラメーターの表示 / 使用)

        • logs サブディレクトリには、ビルドログが内部形式で保存されます。ビルドログには、ビルド出力、コンパイルエラー、テスト出力、テスト失敗の詳細が保存されます。必要に応じてファイルを手動で削除できますが、対応するビルドではビルドログと失敗の詳細 (およびテスト失敗の詳細) が失われます。

    • messages — ディレクトリには、移動できなかったファイルが格納されます(詳細については、サーバー起動時のサーバーログを参照してください)。

    • changesリモート実行の変更が内部形式で保存されるディレクトリ。ディレクトリ内のファイルの名前には、内部の個人変更 ID が含まれます。必要に応じて、ファイルを手動で削除できますが、対応する個人ビルドでは UI の個人変更が失われ、影響を受けるキュービルドを開始しようとすると、失敗するか、個人パッチなしで実行されます。

    • pluginData — ビルド、現在のシステム状態などに関するさまざまなデータを格納するディレクトリ。このディレクトリを削除または変更することはお勧めしません。このディレクトリの内容はデータベースに保存されているデータに対応しているため、データベースを復元するときは、データベースとの整合性を保つために、このディレクトリを同じ状態に復元する必要があります。

    • audit — ビルド構成の変更の履歴を保持し、変更の差分を表示するために使用されるディレクトリ。また、関連データをデータベースに保存します。

    • caches — (VCS リポジトリの内容、検索インデックスなどの)内部キャッシュを備えたディレクトリ。キャッシュをクリアするために手動で削除できます。キャッシュは必要に応じて自動的に復元されます。サーバーが実行されていないときにディレクトリを削除する方が安全です。

      • .unpacked — 解凍されたサーバー側プラグインを格納するために自動的に作成されるディレクトリ。サーバーの実行中に変更しないでください。サーバーが実行されていない場合は、安全に削除できます。

    • buildserver.* — 組み込み HSQLDB に関連するファイルのセット。

  • .BuildServer/backup Web UI 経由で作成されたバックアップアーカイブを保存するデフォルトのディレクトリ。このディレクトリ内のファイルは TeamCity では使用されず、保管のためにすでにコピーされている場合は安全に削除できます。

  • .BuildServer/lib/jdbc — TeamCity がデータベースドライバーを検索するために使用するディレクトリ。必要に応じてディレクトリを作成してください。TeamCity はディレクトリ内のファイルを管理せず、必要なドライバーを格納する .jar ファイルのみをスキャンします。

設定ファイルの直接変更

config ディレクトリのファイルは手動で編集できます (明示的に指定されていない限り)。変更はサーバーを再起動せずに反映されます。TeamCity はこれらのファイルの変更を監視し、変更または新しいファイルが検出されると自動的に再読み取りします。これらのファイルの物理構造または論理構造は簡単に壊れる可能性があるため、編集には細心の注意を払ってください。変更を行う前に必ずデータをバックアップしてください

ファイルのフォーマットはより新しい TeamCity バージョンと変わることができるためファイル更新手順はアップグレードの後で調整を必要とするかもしれないことに注意してください。

REST API は最も一般的な設定編集のための手段を持ち、サーバーアップグレード後に機能するという点でより安定しています。

.dist テンプレート設定ファイル

手動編集用の設定ファイルの多くは、次の規則を使用しています。

  • fileName という名前の)ファイルと一緒に、ファイル fileName.dist が作成されます。.dist ファイルは、デフォルトのサーバー設定を保存するためのものであり、fileName 構成のサンプルとして使用できます。.dist ファイルは、サーバーを起動するたびに上書きされるため、手動で編集しないでください。また、fileName ファイルがユーザーによって変更されたかどうか、後者を更新できるかどうかを決定するために、サーバーのアップグレード中に .dist ファイルが使用されます。

XML 構造と参照

構成を手動で変更する場合は、ID によって相互リンクされたエントリがあることに注意してください。このようなエントリの例としては、ビルド構成 -> VCS ルートリンクやプロジェクト -> 親プロジェクトリンクがあります。同じタイプのすべてのエントリは、サーバー全体で一意の ID を持つ必要があります。新しいエントリは、その ID が一意である場合にのみ追加できます。

TeamCity サーバー間でプロジェクトを移動する場合は、関連セクションも参照してください。

2025 年 12 月 04 日

関連ページ:

外部データベースを設定する

TeamCity は、ビルド履歴、ユーザー、ビルド結果、一部のランタイムデータを組み込みの SQL データベースに保存します。現在使用されているデータベースは、管理 | グローバル設定ページに表示されます。また、サーバーの起動時ににも表示されます。は、内部データベースが使用中であることを意味します。安定性とセキュリティのために、デフォルトの HSQL から別のマシンにある外部データベースに移行することをお勧めします。デフォルトの内部データベース:最初の TeamCity 実行では、デフォルトで...

TeamCity データのクリーンアップ

TeamCity のクリーンアップ機能により、古いビルドデータや不要なビルドデータを自動的に削除できます。サーバーのクリーンアップ構成は管理 | サーバー管理 | クリーンアップ設定で使用可能です。クリーンアップスケジュールの設定が可能で、一般的なクリーンアップ情報が表示されます。特定のプロジェクトに関連するクリーンアップルールはプロジェクト設定で設定されます | クリーンアップルール。これらのルールは、どのデータをクリーンアップし、どのデータを保持するかを定義します。これらは、プロジェクトまた...

TeamCity の設定とメンテナンス

サーバー構成を変更するには、管理 | グローバル設定に移動します。次の設定ブロックを使用できます。TeamCity の設定:データベース実行中の TeamCity サーバーによって使用されるデータベース。データディレクトリディレクトリを参照できる \<TeamCity データディレクトリ \> パス。アーティファクトディレクトリ TeamCity サーバーがビルドアーティファクト、ビルドログ、その他のビルドデータを保存するために使用するルートディレクトリのリスト。デフォルトの場所はです...

プロジェクト管理者ガイド

このセクションでは、プロジェクト管理に焦点を当てます。TeamCity プロジェクトとビルド構成の作成、ビルドステップの設定、依存関係チェーンの構成などについて説明します。基本的な TeamCity ワークフロー:次のダイアグラムは、基本的な TeamCity ワークフローを示しています。TeamCity サーバーはリポジトリの変更を検出しました。サーバーはこの変更をデータベースに書き込みます。ビルド構成に添付されたトリガーは、データベース内の関連する変更を検出し、ビルドを開始します。トリガー...

ビルドパラメーターの設定

パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は次の 3 種類のパラメーターをサポートします。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...

外部変更ビューアー

TeamCity は、JetBrains、Upsource、Atlassian Fisheye などの外部変更ビューアーとの統合をサポートします。一部のビューアーはすぐに使用できます。GitHub、VSTS、Bitbucket へのコミットは自動的に認識され、変更を外部で表示できるようにするリンクが提供されます。他の外部変更ビューアーを有効にするには、ファイルを作成して構成します。これらの設定は、外部変更ビューアーを使用する VCS ルートごとに指定する必要があります。使用可能な形式、変数、その他...