2016-03-23 18 views
0

私はTFS 2015でvNextビルド定義を設定しようとしています(プロジェクトは実際には.NET 4.6.1 Webプロジェクトですが、新しいTFSビルドセットアップ)。私は自分のソリューション(2つのWebプロジェクト、3つのクラスライブラリ、それに続くテスト)で特定のWebプロジェクトを展開するだけのドキュメントを探すのに苦労しています。TFS 2015 "vNext"ソリューションでWebプロジェクト用に構築

XAMLビルドアプローチでは、[プロセス]> [ビルド]> [プロジェクト]入力でビルドに関連する.slnファイルと.csprojファイルを指定します。 「Visual Studioビルド」の手順では、同じ方法で複数のプロジェクト入力が許可されていません。これは私が立ち往生しているようです。 .csprojのみを指定すると、Nugetパッケージは復元されず、ビルドに失敗します。

これらのvNextビルドを介してのみC#Webプロジェクト(.csproj)を展開するためのドキュメントはありますか。以前にXAMLのビルドに使用

MSBuildの引数:

/p:AllowUntrustedCertificate=True /p:AuthType=NTLM /p:Configuration=Development /p:DeployOnBuild=True /p:PublishProfile="DEV" /toolsversion:14.0 /p:VisualStudioVersion=14.0 /p:GenerateBuildInfoConfigFile=false 

私は次のことを成し遂げるだろう探しています解決策:

  1. は、プロジェクトの依存関係をWeb.csproj最低限のビルド
  2. Nugetパッケージを復元します。
  3. Transforms web configs
  4. 2台の別々のサーバ(非アズール!)を経由するWebプロジェクトを展開し、理想的には、ウェブは、任意の助けのための先進的で

感謝を展開します。うまくいけばこれが可能です!

注:私はAzureではなく、Azureはオプションではありません。 Azureユーザーのための文書化されたユースケースシナリオがたくさんあることは知っていますが、これは素晴らしいことですが、そうです。

答えて

1

ビルド定義の先頭に「NuGet Installer」タスクを追加して、ソリューションのナゲットパッケージを復元し、Visual Studioビルドステップで.csprojを指定することができます。 enter image description here

あなたが全体のソリューションを構築したい場合は、「MSBuildの引数」に以下の引数を追加することができます。これは、「$(build.artifactstagingdirectoryで個別にあなたのプロジェクトのための展開パッケージを作成します

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\" 

)\ "フォルダに次のように入力します。 enter image description here

次に、展開するプロジェクトのパッケージを選択できます。また、展開パッケージでは、ビルド定義に2つの "コマンドライン"タスクを追加し、 "$(build.artifactstagingdirectory)"フォルダの下の "Project.deploy.cmd"を呼び出してプロジェクトをサーバーに展開できます。 deployコマンドの参考資料:Executing the Command File Web.configは、正しく構成した場合、既定で変換されます。

ところで、リリース管理システムをビルドする代わりに、リリース管理システムを使用してプロジェクトを展開することをお勧めします。

関連する問題