web-dev-qa-db-ja.com

TeamCityでgitタグを作成するにはどうすればよいですか?

TeamCityサーバーにgitタグを提供して、ビルドします。タグを渡します(つまり、release_1.1)ジョブへのパラメーターとして。そのため、ジョブ内でタグは%tag%、ただしVersion Control Settingsサーバーがこのタグをチェックアウトできるように、このパラメーターを使用する方法がありません。このパラメータを設定で使用してタグをチェックアウトする方法はありますか?

41
js3dev
  1. 構成設定の編集->バージョン管理設定に移動します
  2. このビルド構成のすべてのVCSルートについて、[編集]をクリックしてから、次の操作を行います。

    1. 「+:refs/tags/*」をブランチ仕様テキストボックスに入れます
    2. ブランチとしてタグを使用するをチェック

次に、実行の横にある「...」ボタンを押すと、タグを選択できます。

59
Michel Samia

私は次の機能を得ることができました:

ビルド構成の[ビルドパラメーター]の下で:

構成パラメーターを定義します。

  • 名前:TagToBuild
  • 種類:Configuration parameter
  • 値:
  • 仕様:
    • ラベル:Tag to build
    • 説明:This should be the full path to the tag, i.e. refs/tags/0.5.5
    • ディスプレイ:Prompt
    • タイプ:Text

「値」フィールドは意図的に空白のままになっていることに注意してください。

次に、VCSルートで:

  • 支店名:%TagToBuild%

ビルドを実行すると、ブランチ/タグ名を指定するよう求められます。 Configuration Parameters

refs/tags/0.5.0などの値を入力すると、結果にブランチ名がリストされたNiceビルドが作成されます。 Successful builds

ユーザーを助けるために何らかの方法で説明を超えようとすると、これは失敗するようです。したがって、次のことはできません。

  1. 構成パラメーターで「値」をrefs/tags/に設定し、ユーザーにタグ名を追加してもらいます。
  2. VCSルートで、「ブランチ名」をrefs/tags/%TagToBuild%に設定します。

どちらの場合も、Team Cityの少し古い(7.1)インスタンスでエラーが発生しました:

変更の収集に失敗しました、エラー:jetbrains/buildServer/buildTriggers/vcs/VcsRootChangesLoader.loadChangesの@NotNullパラメーターの引数2はnullにできません

18

タグではこれを行っていませんが、ブランチではこれを行っています。 +:refs/heads/*をビルドするように指定して、TeamCityにすべてのブランチをビルドするように指示します。ブランチをプッシュするたびに、TeamCityがビルドします。次に、ビルド内でgit branchを使用し、*で始まる行を探します。そのブランチ名を便利なスポットに埋め込みます(.NETの場合はAssemblyInfo.cs、ノードの場合はpackage.json)。 http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branchesを参照してください。

5
robrich

refs/tags/${tagName}でタグ形式を指定する必要があります。

したがって、あなたはrefs/tags/release_1.1になります。

4
Welsh