4

リリース/機能ブランチを継続的に構築することを除いて、私は Team City でほぼすべてを完全にセットアップしました。

これを説明するのは難しいでしょうが、うまくいけば意味があるはずです。

TFS に次のソース管理レイアウトがあります。

$/ProjectName/releases/1.2
$/ProjectName/features/create-doodads
$/ProjectName/trunk

次のビルド パラメータがあります。

env.SourceBranch = trunk

これは、ソース管理ルートを構成するために使用されます。

Root = $/ProjectName
CheckoutRule = +:%env.SourceBranch%=>./

興味深いのは次のとおりです。

カスタム ビルドを実行して手動で指定するとenv.SourceBranch、チェックアウト ルールで構成されているため、指定されたブランチでビルドが実行されます。7.1 では、プロジェクト ページのビルド番号の横にブランチ ラベルを表示する新機能があり、これはビルドとビルド チェーン内の後続のすべてのビルドの横に正しく表示されます。

これまでのところは問題ありませんが、ブランチに再度チェックインすると、自動的に実行されません。

なぜこれが起こっているのか理解しています...チェックアウトルールのデフォルトは、またはのtrunk下で発生しているチェックインと一致しないことを意味しますが、オプションが何であるか正確にはわかりません。releasesfeatures

私が欲しいのは、vcsルートに渡されるパラメーターを設定するビルドトリガーを指定する機能だと思います...またはそのようなものです。

これが明確でない場合はお知らせください。さらに説明します。

編集:

次のようなことをして、チェックアウトルールで遊んでみました:

+:trunk=>./
+:releases/*=>./
+:features/*=>./

残念ながら、これは機能しません。

私がやろうとしているのはここで提案されていることのようですが、それはまだ可能ではないと思います。

4

1 に答える 1

0

あなたが説明しているのは、トリガーに基づいてさまざまなブランチから自動的にビルドしようとしているだけだと思います(gitの仕組みと同様)。残念ながら、これは、私が認識しているこの記事の執筆時点で、TC の分散モデル (git や mercurial など) 以外のソース管理ではオプションではありません。

ビルド パラメーターで指定された異なるブランチを使用して、テンプレートに基づいて異なるビルド構成を作成することをお勧めします。CI プロモーション モデルに従っている場合、これが最も役に立ち、簡単に追跡できると思います。したがって、例には 3 つのビルド構成があり、1 つのパラメーターを除いて 3 つのビルドすべてですべてがまったく同じである 1 つのテンプレートがあります: %env.SourceBranch%.

于 2015-01-14T18:19:37.037 に答える