6

私たちはVS2012を使用しており、4つのWebサイトプロジェクトを含むソリューションを提供しています。私たちは、継続的インテグレーションのMSBuildの引数に次のMSBuild引数を追加しました:ソリューション内に複数のWebサイトプロジェクトを継続的に展開

/P:DeployOnBuild =真/ P:設定=テスト/ P:DeployTarget = MsDeployPublish/P:MSDeployPublishMethod = WMSVC/P:CreatePackageOnPublish =偽/ p:AllowIntrustedCertificate = True/p:username = {username}/p:password = {password}/p:DeployIisAppPath = "{テスト}"/p:SkipExtraFilesOnServer = true /p:MsDeployServiceUrl={test}/MsDeploy.axd/

チェックインを行い、継続的な統合を実行すると、4つのすべてのWebサイトが同じディレクトリに公開されます。どのプロジェクトがどのIISアプリケーションに属しているかをどのように指定しますか?

How to tell TFS to deploy multiple webapps containing in one solution?のように、設定をcsprojに移動しようとしました。変更を加えた後、チェックインは機能しましたが、公開しませんでした。

+0

ウェブサイトごとに4つに分割する方がよいでしょうか? –

答えて

15

DeployIisAppPathをコマンドラインで渡しているため、同じサイトに展開しています。

各Webアプリケーションに同じ名前(例:Stage.pubxml)を使用して、それぞれ異なる値DeployIisAppPathを含む公開プロファイルを作成できます。デプロイするときは、/p:PublishProfile=Stageと指定し、その特定のプロジェクトごとにそのプロファイルの設定を使用します。

SkipExtraFilesOnServerMsDeployServiceUrlのようなプロパティをコマンドラインから指定する場合は、パブリッシュプロファイルからプロパティを削除するだけです。

+0

これはありがとう、それは私を大きく助けました。 – Michael

+0

@ Michael @Richard Szalayは、最初にコンパイルされたプロジェクトだけが公開プロファイルを取っているという条件がありますか? http://stackoverflow.com/questions/38306581/msbuild-publish-profile-not-being-passed-to-second-web-project-for-solution-with –

関連する問題