TeamCity 2020.1ヘルプ

定義済みのビルドパラメータ

TeamCityには、ビルド構成の設定またはビルドスクリプトで使用する準備ができている多数のビルドパラメータがあります。

定義済みのビルドパラメータは、いくつかのスコープから発生します。

  • Server build properties – the parameters generated by TeamCity on the server side in the scope of a particular build. An example of such property is a build number.

  • エージェントのプロパティ – the parameters provided by an agent on connection to the server. The parameters are not specific to any build and characterize the agent environment (for example, the path to the .NET framework). These are mainly used in agent requirements.

  • Agent build properties – the parameters provided on the agent side in the scope of a particular build right before the build start. For example, a path to a file with a list of changed files.

All these parameters are passed to the build.

There is also a special type of server-side build parameters that can be referenced by other parameters, but that are not passed to the build. See 構成パラメータ below for the list of such parameters.

サーバービルドプロパティ

システムプロパティは %system.propertyName%を使用して参照できます。

System property name

環境変数名

説明

teamcity.version

TEAMCITY_VERSION

The version of the TeamCity server. This property can be used to determine if the build is run within TeamCity.

teamcity.projectName

TEAMCITY_PROJECT_NAME

現在のビルドが属するプロジェクトの名前。

teamcity.buildConfName

TEAMCITY_BUILDCONF_NAME

The name of the build configuration the current build belongs to.

teamcity.buildType.id

なし

The unique ID used by TeamCity to reference the build configuration the current build belongs to.

teamcity.configuration.properties.file

なし

The full name (including path) of the file containing all the build properties in alphabetical order.

build.is.personal

BUILD_IS_PERSONAL

ビルドが個人用の場合は true に設定されます。他に定義されていません。

build.number

BUILD_NUMBER

ビルド番号フォーマットを使用してTeamCityによってビルドに割り当てられたビルド番号。プロパティはビルド番号の形式に基づいて割り当てられます。

teamcity.build.id

なし

The internal unique ID used by TeamCity to reference builds.

teamcity.auth.userId

なし

A generated username that can be used to download artifacts of other build configurations. Valid only during the build. (more details)

teamcity.auth.password

なし

他のビルド構成のアーティファクトをダウンロードするために使用できる生成されたパスワード。ビルド中のみ有効です。(more details)

build.vcs.number.<VCS_root_ID>

BUILD_VCS_NUMBER_<VCS_root_ID>

The latest VCS revision included in the build for the root identified. See VCSルートの設定 for the <VCS root ID> description. If there is only a single root in the configuration, the build.vcs.number property (without the VCS root ID) is also provided.

構成パラメータ

Configuration parameters are parameters that can be referenced by other properties (only if defined on the パラメーター page), but that are not passed to the build themselves.

You can get the full set of such server properties by adding the system.teamcity.debug.dump.parameters property to a build configuration and examining the " Available server properties " section in the build log.

これらのプロパティには、次のものがあります。

依存関係プロパティ

These are properties provided by the builds the current build depends on (via a snapshot or an artifact dependency).

In a dependent build, dependencies properties have the following format:

dep.<btID>.<property_name>
  • <btID> – the ID of the build configuration to get the property from. Only the configurations the current one has snapshot or artifact dependencies on are supported. Indirect dependencies configurations are also available (for example, A depends on B and B depends on C – A will have C's properties available).

  • <property name> - 指定されたIDを持つビルド構成のビルドパラメーターの名前。

依存関係プロパティの上書き

現在のビルドの開始時に、スナップショット依存ビルドのビルドパラメーターを再定義することができます。例:ビルド構成AはBに依存し、BはCに依存します。トリガーすると、AはBまたはCで使用されている任意のパラメーターを次のプロパティで変更できます。

reverse.dep.<btID>.<property_name>

すべての依存関係のパラメーターを一度に変更するには、ワイルドカードを使用します。

reverse.dep.*.<property_name>

チェーンの各依存ビルドは、その依存ビルドのいずれでもパラメーターを再定義できます。

ビルド構成AとBがビルド構成Cの同じパラメーターに異なる値を設定しようとしている場合は、以下の規則が適用されます。

  • Aがスナップショット依存関係によって直接的または推移的にBに依存する場合、Aによって提案された値がCで使用されます。(もしBがAに依存していれば)

  • AとBの両方が互いに依存していない場合、TeamCityはそれを競合と見なし、Cの元の値を変更しません。代わりに、Cに対して2つの他のパラメーターが作成されます。
    • conflict.<btA>.<property_name>=<valueA>
    • conflict.<btB>.<property_name>=<valueB>

reverse.dep.* パラメーターは、パラメーターが定義されているビルドのキューイング時に処理されます。パラメータの値はその段階でわかっているはずなので、ビルド設定パラメータとして、またはカスタムビルドダイアログでのみ定義できます。ビルド中にパラメータを設定しても効果はありません。

新しいパラメーターをビルドにプッシュすると、「適切なものがある場合は、新しいビルドを実行しないでください」スナップショット依存関係オプションが置き換えられ、パラメーターがデフォルト以外の値に設定されている場合は新しいビルドがトリガーされる可能性があります。

reverse.dep. パラメータの値は、参照解決なしで「そのまま」依存関係ビルドにプッシュされることに注意してください。もしあれば、% - 参照は、パラメータがプッシュされるビルドのコンテキストで解決されます。
<property_name> は、上記のビルド構成で設定するプロパティの名前です。システムプロパティを設定するには、<property_name>system. プレフィックスを含める必要があります。

VCSのプロパティ

これらは、ビルド構成に添付されているVCSルートの設定です。

VCSプロパティの形式は以下のとおりです。

vcsroot.<VCS_root_ID>.<VCS_root_property_name>
  • <VCS_root_ID> - VCSルートの設定ページに従ってVCSルートIDです。

  • <VCS_root_property_name> – the name of the VCS root property. This is VCS-specific and depends on the VCS support. You can get the available list of properties as described above. If there is only one VCS root in a build configuration, the <VCS root ID>. part can be omitted.

VCSサポートで secure とマークされているプロパティ(パスワードなど)は、参照プロパティとして使用できません。

分岐関連のパラメータ

TeamCityは、ブランチ仕様が構成されているビルド構成でビルドを開始するときに、各ビルドにブランチラベルを追加します。この論理ブランチ名は、構成パラメーターとしても使用できます。

teamcity.build.branch

デフォルトとデフォルト以外のブランチで開始されたビルドを区別するために、7.1.5以降にこれらのケースを区別することができる追加のブール構成パラメーターがあります。

teamcity.build.branch.is_default=true|false

Git&Mercurialの場合、TeamCityは、ビルド開始時に既知のVCS ブランチという名前の追加パラメータを提供します。構成されているブランチ仕様に従って、これらが論理ブランチ名と異なる場合があることに注意してください。このVCS ブランチは、次の名前の設定パラメータから入手できます。

teamcity.build.vcs.branch.<VCS_root_ID>

where <VCS_root_ID> is the VCS root ID as described on the VCSルートの設定 page.

その他のパラメータ

パラメーター名

説明

teamcity.build.triggeredBy

ビルドがトリガーされた方法のわかりやすい説明

teamcity.build.triggeredBy.username

ビルドがユーザーによって起動された場合は、このユーザーのユーザー名が報告されます。ユーザーによってではなくビルドがトリガーされた場合、このプロパティは報告されません。

エージェントのプロパティ

Agent-specific properties are defined on each build agent and vary depending on its environment. Aside from standard properties (for example, teamcity.agent.jvm.os.name or teamcity.agent.jvm.os.arch are provided by the JVM running on an agent) agents also have properties based on installed applications. TeamCity automatically detects a number of applications including the presence of .NET Framework, Visual Studio and adds the corresponding system properties and environment variables. A complete list of predefined agent-specific properties is provided in the table below.

追加のアプリケーション/ライブラリが環境で利用可能な場合、管理者は <agent home>/conf/buildAgent.properties ファイルのプロパティを手動で定義できます。これらのプロパティは、さまざまなビルド構成オプションの設定、ビルド構成要件の定義(一部のプロパティの有無など)、およびビルドスクリプト内で使用できます。これらのプロパティを参照する方法の詳細については、ビルド構成でのビルドパラメータの定義と使用セクションを参照してください。

TeamCity Web UIでは、エージェントで定義された実際のプロパティは、上部ナビゲーションバー<エージェント> | <エージェント>ページのエージェントタブに移動して確認できます。| エージェントパラメータタブ:

定義済みプロパティ

説明

teamcity.agent.name

buildAgent.properties エージェント構成ファイルに指定されているエージェントの名前。特定のビルドエージェントで実行する(または実行しない)ビルド構成の要件を設定するために使用できます。

teamcity.agent.work.dir

The path to the エージェント作業ディレクトリ

teamcity.agent.work.dir.freeSpaceMb

エージェント作業ディレクトリの空き容量

teamcity.agent.home.dir

The path to the エージェントホームディレクトリ

teamcity.agent.tools.dir

エージェントのツールディレクトリへのパス。

teamcity.agent.jvm.os.version

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.user.country

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.user.home

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.user.timezone

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.user.name

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.user.language

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.user.variant

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.file.encoding

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.file.separator

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.path.separator

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.specification

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.version

The corresponding JVM property (see JDKのヘルプ(英語) for properties description).

teamcity.agent.jvm.java.home

See the section below for details.

teamcity.agent.os.arch.bits

The agent's OS bitness.

DotNetFramework<version>[_x86|_x64]

This property is defined if the corresponding version(s) of .NET Framework runtime is installed. (Supported versions are 1.1, 2.0, 3.5, 4.0(英語) - 4.6.1).

DotNetFramework<version>[_x86|_x64]_Path

This property value is set to the corresponding framework runtime version(s) path(s).

DotNetFrameworkSDK<version>[_x86|_x64]

このプロパティは、対応するバージョンの.NET フレームワーク SDKがインストールされている場合に定義されます。(サポートされているバージョンは1.1、2.0(英語)です )

DotNetFrameworkSDK<version>[_x86|_x64]_Path

このプロパティ値は、対応するフレームワークSDKバージョンのパスです。

DotNetFrameworkTargetingPack<version>_Path

このプロパティ値は、対応する参照アセンブリ(AKA Targeting Pack)の場所へのパスです。(サポートされているバージョンは2.0 - 4.6.1です)

WindowsSDK<version>

このプロパティは、対応するバージョンのWindows SDKがインストールされている場合に定義されます。(サポートされているバージョンは6.0, 6.0A、7.0(英語)、7.0A、7.1(英語)、8.0, 8.0A、8.1, 8.1A、10です。)

WindowsSDK<version>_Path

このプロパティ値は、対応するバージョンのWindows SDKのパスです。

VS[2003|2005|2008|2010|2012|2013|2015|2017]

このプロパティは、Visual Studioの対応するバージョンがインストールされている場合に定義されます。

VS[2003|2005|2008|2010|2012|2013|2015|2017]_Path

This property value is the path to the directory that contains devenv.exe .

teamcity.dotnet.nunitlauncher<version>

このプロパティ値は、スタンドアロンのNUnitテストランチャー NUnitLauncher.exeを含むディレクトリへのパスです。バージョン番号は、テストが実行される.NET フレームワークのバージョンを表します。バージョンは.NET フレームワークのバージョンと同じで、1.1, 2.0、つまり2.0vstsの値を持つことができます。

teamcity.dotnet.nunitlauncher.msbuild.task

プロパティ値は、MSBuild用のNUnitタスクを提供するMSBuildタスクdllを含むディレクトリへのパス、Visual Studio(sln)です。

teamcity.dotnet.msbuild.extensions2.0

プロパティ値は、MSBuild 2.0リスナアセンブリとタスクアセンブリを含むディレクトリへのパスです。

teamcity.dotnet.msbuild.extensions4.0

プロパティ値は、MSBuild 4.0リスナーおよびタスクアセンブリを含むディレクトリへのパスです。

teamcity.agent.ownPort

The agent port used by the TeamCity server to connect to the agent.

teamcity.agent.protocol

The protocol used for data transfers between the agent and the server.

teamcity.agent.cpuBenchmark

CPUベンチマーク result for the agent.

teamcity.agent.hardware.cpuCount

The number of processors in the build agent system.

teamcity.agent.hostname

The name of the build agent host.

エージェント環境変数

エージェントはいくつかの環境変数を定義できます。これらの変数は、通常の環境変数としてビルドスクリプトで使用できます。

Javaホームディレクトリ

ビルドエージェントが起動すると、まずインストールされているJDKとJREが検出されます。見つかった場合、Java関連の環境変数は以下のセクションで説明されているように定義されます。

エージェント上のJavaの検出

インストールされたJavaは、下記のすべての場所で検索されます。次に、検出されたすべてのJavaが起動され、それが有効なJavaインストールであることを確認し、その出力に基づいてJavaのバージョンとビット数が決定されます。

次の場所が検索されます(いくつかの場所はすべてのオペレーティングシステムに共通ですが、そのうちのいくつかはOS固有のものです)。

  • 定義されている場合は、エージェント上のカスタムディレクトリでJavaインストールが検索されます。Javaを検索するためのカスタムディレクトリの定義については後述します。

  • The agent tools directory, <Agent Home Directory>/tools, is checked for containing a jre or jdk. By default, the subdirectories of /tools are not scanned. To search the subdirectories, define teamcity.agent.java.search.path=%agent.tools.NAME%/INNER_PATH in the buildAgent.properties file.
    For Unix and Mac OS, remember to set the executable bit(英語) on the files for TeamCity to be able to launch the discovered Java.

  • JAVA_HOME , JDK_HOME , JRE_HOME 変数が定義されているかどうかがチェックされます

  • 次のセクションにリストされているOS固有の場所がチェックされます

  • PATH 環境変数が検索され、ディスカバーされたディレクトリにJavaが含まれているかどうかが検査されます。

Windows

  • Windowsレジストリで、JavaインストーラでインストールされたJavaを検索します。

  • C:\Program Files および C:\Program Files (x86) ディレクトリで Java および JavaSoft サブディレクトリが検索されます

  • C:\Java ディレクトリが検索されます

Unix

次のディレクトリでJavaサブディレクトリが検索されます。

  • /usr/local/java
  • /usr/local
  • /usr/java
  • /usr/lib/jvm
  • /usr

Mac OS

The following directories are searched:

  • /System/Library/Frameworks/JavaVM.framework/Versions/<Java Version>/Home
  • /Library/Java/JavaVirtualMachines/Versions/<Java Version>/Home
  • /Library/Java/JavaVirtualMachines/<Java Version>/Contents/Home

Javaを検索するためのカスタムディレクトリの定義

teamcity.agent.java.search.path プロパティを buildAgent.properties ファイルに追加することで、エージェント上でJavaインストールを検索するためのカスタムディレクトリを定義できます。

OS依存の文字で区切られたディレクトリのリストを定義できます。

Java関連の環境変数の定義

For each major version V of java, the following variables can be defined:

  • JDK_1V
  • JDK_1V_x64
  • JRE_1V
  • JRE_1V_x64

The JDK variables are defined when the JDK is found, the JRE variables are defined when the JRE is found but the JDK is not.
The \_x64 variables point to 64-bit java only; the variables without the \_x64 suffix may point to both 32-bit or 64-bit installations but 32-bit ones are preferred.
If several installations with the same major version and the same bitness but different minor version/update are found, the latest one is selected.

さらに、以下の変数が定義されています。

  • JAVA_HOME - 最新のJDKインストール用 (しかし32ビットの方が推奨する)

  • JDK_HOME - JAVA_HOMEと同じ

  • JRE_HOME - 最新のJREまたはJDKインストール用(ただし32ビット版が推奨)、JDKが見つかった場合でも定義されます。

JRE_HOME 変数と JDK_HOME 変数は異なるインストールを指すことがあります。たとえば、JRE 1.7とJDK 1.6がインストールされているがJDK 1.7がインストールされていない場合 - JRE_HOME はJRE 1.7を指し、JDK_HOME はJDK 1.6を指します。

すべての変数は、バイナリファイルではなく、javaホームディレクトリを指します。例:javacバージョン1.6を実行したい場合は、次のパスを使用できます。

TeamCityビルド構成

%env.JDK_16%/bin/javac

Windowsのbat / cmdファイル

%JDK_16%\bin\javac

In a Unix shell script:

$JDK_16/bin/javac

エージェントビルドプロパティ

これらのプロパティはビルドごとに一意です。これらは、ビルド開始直前にエージェントで計算されてからビルドに渡されます。

システムプロパティ名

環境変数名

説明

teamcity.build.checkoutDir

なし

チェックアウトディレクトリはビルドに使用されました。

teamcity.build.workingDir

なし

ビルドが開始された作業ディレクトリ。これはTeamCityビルドランナーがプロセスを開始することになっているパスです。これはランナー特有の特性なので、新しいステップごとに異なる値を持ちます。

teamcity.build.tempDir

なし

TeamCityによって自動的に生成されたビルド一時ディレクトリのフルパス。ディレクトリはビルド後に消去されます。

teamcity.build.properties.file

TEAMCITY_BUILD_PROPERTIES_FILE

Full name (including path) of the file containing all the system.* properties passed to the build. system. prefix stripped off. The file uses Javaプロパティ(英語) file format (for example, special symbols are backslash-escaped).

teamcity.build.changedFiles.file

なし

ビルドに含まれる変更されたファイルに関する情報を含むファイルへのフルパス。このプロパティは、テストランナーで新規および変更されたテストの実行(英語)サポートする(英語)場合に役立ちます。このファイルは、ビルドに変更があった場合にのみ使用可能です。履歴ビルドには使用できません。

カスタムテストランナーのリスクテストの並べ替え(英語)に関連するシステムプロパティも参照してください。