2016-09-30 11 views
4

Visual Studio Team Servicesを使用しています。Visual Studio Team Services:複数のブランチの単一ビルド定義

私たちは、Prod-Build-Definitionによって構築され、テスト/統合環境と本番環境にProd-Release-Definitionによって配備されたProd-Branchを持っています。

各Prod-Releaseをお客様に配備した場合、Prod-BranchからProd-Rel-Version-x.x.xブランチを作成します(Hotfixの場合に必要です)。

私たちはDev-Build-Definitionによって構築されたDev-Branchを開発しており、開発者テストのDEV環境にDev-Release-Definitionによってデプロイされています。

スプリントの後(または時々)、Dev-BranchはMain-Branchに、その後Prod-Branchにマージされます。そこから、それは顧客がテストするために異なるステージに配置されます。

Hotfix-Caseがある場合、Prod-Rel-Version-xxxブランチでこのバグを修正し、既存のProd-Build-Definitionを再利用してこのHotfix-Versionをビルドし、既存のProd-Release-Definitionによってテストして、このバージョンで稼動させることができます。

Prod-Build-Definitionをこの異なるBranch(Prod-BranchではなくProd-Rel-Version-x.x.x Branch)で再利用するにはどうすればよいですか?

私はビルドの定義を見ると、サーバパス(リポジトリ>マッピング)を$/NameOfOurApp/Prodから$/NameOfOurApp/Prod-Rel-Version-x.x.x)に編集するだけで可能だと思います。しかし、私が読んだところでは、サーバーマッピングではビルド変数を使うことができないので、この変数を変更することはできません。たとえば、新しいビルドダイアログをキューに入れてください...

私のシナリオを達成する最良の方法は?

+0

これは悲しいことです:(。 "新しいビルド待ち行列"から "ブランチ"を選択する方法があるはずです。 – Vivek

答えて

5

これを実行する唯一の方法は、すべてのブランチをダウンロードする単一のビルド定義を作成することです。その後、タスクの変数を使用してビルドするバージョンを選択します。これは非常に厄介な(そして遅い)非常に速くなります。

代わりにビルド定義を複製する方がはるかに簡単です。あるいは、既存のビルド定義からビルド定義テンプレートを作成し、それを使用して新しいビルド定義を作成することもできます。

ただし、はるかに良い解決策は、多くのブランチに依存することではありません。実際に修正プログラムを作成する必要がある場合はブランチが必要です。多くの調査結果がある場合はステージブランチのみが必要ですより高い段階。あなたが働く方法を改善することによって、あなたは支部を取り除くことができ、すべての人の仕事を簡素化することができます。

関連する問題