2016-04-12 8 views
0

私は現在、Team Foundation Server 2015(Update 2)を使用しており、新しいビルド定義とリリース管理を使用し、ビルドの作成に関するベストプラクティス複数のブランチを使用する場合の定義TFSビルドブランチとソリューションが複数ある場合の定義とリリース管理のベストプラクティス

複数のブランチがあり、各ブランチに複数のソリューションがあります(この例では、WinApp.sln、WebApp.sln & MobileApp.slnと呼びます)。

私たちのプロジェクトの枝には、以下のようなもの... TFS 2015の新しいビルド定義を使用

Project 
    Dev 
     Main *** This is our development branch for new features 
     Updates 
      1.2 *** This branch is used for any bug fixes for version 1.2 
    Main 
    Releases 
     1.1 
     1.2  *** Current release branch that will be deployed to customers 

は、それが内のアプリケーションの枝の各またはそれぞれの新しいビルド定義を作成することをお勧めします各支店。例えば

I作成するには、次の構築の定義:

AppName.Dev   
AppName.Updates.1.2 
AppName.Release.1.2 

各リリースの定義があります:次のようにリリース定義を持つことにより、リリース管理に流れるだろう、その後

AppName.Dev.WinApp 
AppName.Dev.WebApp 
AppName.Dev.MobileApp 
AppName.Updates.1.2.WinApp 
AppName.Updates.1.2.WebApp 
AppName.Updates.1.2.MobileApp 
AppName.Release.1.2.WinApp 
AppName.Release.1.2.WebApp 
AppName.Release.1.2.MobileApp 

そして、 3つのソリューションビルドごとにアーティファクトが追加されました。

または、各ブランチに対して1つのビルド定義を持つ方がよいでしょうか?

似たような状況で他の人が何をしているのかが興味深いでしょう。

+0

各アプリケーションは個別に構築されますか?つまり、WinAppとWebAppを一緒に構築することは理にかなっていますか? – Sachi

+0

アプリは共通のDLLを共有します。新しいバージョンがリリースされると、通常はすべてのアプリケーションが再構築されます。しかし、特定のアプリのバグが修正され、1つのアプリだけが更新される必要があるケースがあります。 –

答えて

0

以前はxamlベースのビルドでは、新しいビルドテンプレートをリリースするたびに古いリリースビルド定義に影響を与えないため、複数のビルド定義が維持されていました。我々はまた、ビルドのためにバージョンのためにそれを維持した。

しかし、新しいvNextビルドでは、タスクを強化してTFSにアップロードすると、以前のバージョンのタスクを使用できるようになりません。すべてのビルド定義は、最新のタスクを使用して開始されます。私たちは古いバージョンのタスクを選択することができません(タスクの名前を変更する以外)。ですから、タスクが更新されるとビルド定義が更新されるため、複数のビルド定義を維持することは役に立たないと思います。

特定のリリースのバージョンを維持する必要がある場合があります。その数がトリガーされたビルドに依存する場合は、最新のバージョン番号を持つことができないため、異なるビルド定義を作成します。

異なるビルド定義を維持するもう1つの理由は、特定のリリースで以前に使用されたタスクを覚えているという頭痛から逃れることです。

だから私は、バージョンの混乱を避け、リリースビルド定義の整合性を保つために、異なるビルド定義を使用します。

リリース時には、ビルド定義をリリース定義にバインドします。したがって、やはりスムーズなバグ修正と更新を行うためには、各ビルド定義の異なるリリース定義が存在する必要があります。

関連する問題