TeamCity 2019.1ヘルプ

VCSラベリング

TeamCityは、バージョン管理で特定のビルドのソースを(自動または手動で)ラベル付け(タグ付け)できます。適用されたラベルとその適用ステータスのリストは、ビルド結果ページの変更タブに表示されます。

このページで:

自動VCSラベル付け

TeamCityを設定して、ビルドの状態に応じてビルドのソースに自動的にラベルを付けることができます。このプロセスは、ビルドの補完後にバックグラウンドで実行され、ビルドステータスには影響しません。つまり、ラベル付けの失敗は標準の通知イベントではありません。ただし、現在のビルド構成の失敗したビルドに関する通知をサブスクライブしているユーザーには、ラベル付けの失敗が通知されます。

ラベル付け中に発生したエラーは、ビルド結果ページの変更タブで報告されます。

ラベル付けは、ビルド構成/テンプレートに対して構成されます。

自動VCSラベル付けは、ビルド構成設定のビルド機能ページで構成されます。

自動ラベル付けを構成するには、ラベル付けするルートとラベル付けパターンを指定する必要があります。ビルド構成用にブランチが構成されている場合、選択したブランチからビルドにラベルを付けることができます

テンプレートから継承されたラベル付け設定を完全にオーバーライドできます。異なるVCSルートに異なるラベルを適用することもできます。

ビルド構成のVCS設定を変更する場合、新しいビルドでのみラベル付けに使用されることに注意してください。

「移動」ラベル(異なるビルドに対して同じ名前のラベル、たとえば SNAPSHOT)は現在、CVSでのみサポートされています。

Teamcity VCSラベリング機能を使用してタグ作成を自動化する例については、この外部投稿(英語)を参照してください。

手動VCSラベリング

ソースに手動でラベルを付けるには:

ビルド結果ページに移動し、アクションをクリックして、ドロップダウンからこのビルドソースにラベルを付けるを選択します。

手動ラベル付けでは、ビルドに実際のVCS設定が使用されます。

Subversionラベル付けルール

Subversion VCSルートにラベルを付けるには、追加の構成(SVNリポジトリ構造を定義するラベル付けルール)が必要です。

ラベル付けルールは、改行区切りのルールとして次の形式で指定されます。

TrunkOrBranchRepositoryPath => tagDirectoryRepositoryPath

リポジトリパスは、相対パスと絶対パス( /から開始)のどちらでもかまいません。絶対パスはSVNリポジトリルート(リポジトリの最上位ディレクトリー)から解決され、相対パスはTeamCity VCSルートから解決されます。

ラベルを作成するとき、TrunkOrBranchRepositoryPath にあるソースは tagDirectoryRepositoryPath/tagName ディレクトリーに配置されます。tagName はビルド構成のラベル付けパターンで定義されたラベルの名前です。
TrunkOrBranchRepositoryPathに一致するソースがない場合、ラベルは作成されません。
tagDirectoryRepositoryPath パスは、リポジトリにすでに存在している必要があります。
tagDirectoryRepositoryPath ディレクトリーに現在のラベル名のサブディレクトリーが既に含まれている場合、ラベル付けプロセスは失敗し、古いタグディレクトリーは削除されず、影響も受けません。

例:URL svn://address/root/project のVCSルートがあり、svn://address/root はリポジトリルートであり、リポジトリの構造は次のとおりです。

-project --trunk --branch1 --branch2 --tags

この場合、ラベル付けルールは次のようになります。

/project/trunk=>/project/tags /project/branch1=>/project/tags /project/branch2=>/project/tags

ラベル付けルールの例

ラベル付けルールとラベル付けパターンの両方で変数置換を使用できます。さまざまな構成で使用されるVCSルートのラベル付けルールの例を参照してください。

/projects/%projectName%/trunk => /projects/%projectName%/tags

これには、ビルド構成設定で %projectName% 構成パラメーターを設定する必要があります。

デフォルトでは、TeamCityは指定されたターゲットパスの末尾にラベル名を追加します。別のディレクトリー構造を作成し、ターゲットパスの中央にラベルを配置する場合は、次の構文を使用できます。

/project/trunk => /tagged_configurations/%%system.build.label%%/project /modules/module1/trunk => /tagged_configurations/%%system.build.label%%/module1 /modules/module2/trunk => /tagged_configurations/%%system.build.label%%/module2

%%system.build.label%% はタグ名に置き換えられます(先頭に二重の %% 記号があることに注意してください-これは重要です)。