web-dev-qa-db-ja.com

TeamCityは、複数のビルド構成間でビルド番号を共有します

複数のビルド構成間でビルド番号を共有する方法を探しています。目標は、ある種のグローバルカウンターを用意することであり、すべてのビルド構成はそれをインクリメントし、独自のビルド番号で使用します。

42
Eatdoku

ビルド構成Aの1つにビルド構成Bに対するスナップショットまたはアーティファクトの依存関係がある場合、依存関係パラメーターを使用してAのBからビルド番号を取得できます。

%dep.<B id>.build.number%

ここで、<B id>はビルド構成BのIDです(URLのbuildTypeIdパラメーターを参照)。

52
Pavel Sher

この解決策は私にとってはうまくいきます:

  1. ビルド構成を作成します。 「GenerateBuildNumber」と言って、テンプレートを添付しないでください。ビルドステップは指定しないでください。保存をクリックします。
  2. プロジェクトの構成を編集します。 「ビルド構成設定->依存関係」に移動します。 「新しいスナップショット依存関係を追加」をクリックします。
  3. 「依存」セクションで以前に作成した「GenerateBuildNumber」を選択します。 オプションのチェックを外す「適切なビルドがある場合は、新しいビルドを実行しない」。保存をクリックします。
  4. [全般設定]に移動し、[ビルド番号の形式:]をオフにして、左側の3行のボタンをクリックします。 「%dep.YouProjName_GenerateBuildNumber.env.BUILD_NUMBER%」を選択します。保存をクリックします。

プロジェクトのビルドを実行します。最初に「GenerateBuildNumber」プロジェクトを開始し、次に生成された番号を使用してプロジェクトを開始します。一意の生成番号を取得するプロジェクトごとに、手順2〜4を実行します。利益!

33
Hollywood

AutoIncrementerプラグインでうまくいくと思います。構成間でビルド番号を共有できます。 http://confluence.jetbrains.com/display/TW/Autoincrementer

11
Dean Ward

次の手順に従って、1つのチームシティプロジェクトに別のプロジェクトのビルド番号を使用させることができます。

  1. ビルド番号をインポートする構成のTeamCityプロジェクト構成のプロパティを開きます。

  2. 「依存関係」セクションに移動します。

  3. 「アーティファクト依存関係」を追加し、ビルド番号を取得するプロジェクト構成を依存プロジェクトとして選択します。

  4. 「アーティファクトの取得元」フィールドで、「指定されたビルド番号でビルド」を選択します

  5. [ビルド番号]入力ボックスの横にあるボタンをクリックして、ビルド番号を取得する場所を選択できます。このリストには、「dep.bt2.build.number」のようなオプションが表示されます(構成によっては、数値が2ではない場合があります)。

4
bikeman868

AutoIncrementerは優れていますが、一部のユーザーがAutoIncrementerでは実行できないと言ったことを実行しようとする新しいプラグインがあります。

http://Java.nicholaswilliams.net/TeamCityPlugins/introduction#SharedBuildNumber

TeamCityに追加するとUIが表示され、使用したい形式で日付を使用することもできます。

3
John