2017-02-25 8 views
0

次の問題があり、私はSOまたはMSDNで簡単な解決策が見つからないことに驚いています。Web配置後の展開後スクリプトの実行

Webアプリケーションのいくつかに* .pubxmlという既存のプロファイルがあり、WebSiteとその子アプリケーションを少し再構成するpost-deploymentスクリプト - powershellスクリプトを実行したいと思います。

私はWeb Deploymentパッケージではなく、Web Deployだけです。

スクリプトは正常にデプロイされますが、問題は次のとおりです。 - デプロイメント後に自動的にどのように実行する必要がありますか?

私は2つのシナリオがあります。単に "公開..." のVisual Studioからによって実行

  1. を。
  2. TFSビルド定義(TFS 2013)の一部として実行します。
+0

1)Visual Studioからのエキサイティングなパブリッシュは非常に悪いことです。 2)ビルドプロセスの一部としてスクリプトを実行するのは簡単です。何を試しましたか? –

+0

1)okですが、私はすでにそれを持っており、それは正常に動作します。 2)投稿後の一部として実行する必要があります。ビルド前またはビルド後のスクリプトの実行方法は分かっています。私は目的地に展開されたスクリプトを持っており、それを実行する方法が必要です。それで全部です。 – sephirot

+0

ビルドの一部として実行します。ビルドからのみVSから展開しないでください。 –

答えて

1

MSBuildで "ターゲット"を定義して、要件を満たすことができます。最初のシナリオでは

は、Visual StudioのビルドプロセスをプロジェクトファイルにインポートされているのMSBuild .targets一連のファイルで定義されます。これらのインポートされたファイルの1つ、Microsoft.Common.targets。このファイルには、ビルドプロセスの主要ターゲットの前後に呼び出される定義済みの空のターゲットが含まれています。

ですから、「AfterTarget」属性の値が「MSDeployPublish」に設定されている「ターゲット」要素を定義することができます:あなたはとしてPowerShellのビルドタスクを追加することができます

:2番目のシナリオについては

<Target Name="CustomPostPublishActions" AfterTargets="MSDeployPublish" > 
    <Exec Command="..\PostDeploymentScript.sp1 " /> 
</Target> 

をMrHinshの提案。

+0

PostDeploymentScript.sp1はWebアプリケーションクラウド環境で実行されますか? –

1

VSTS/TFSでのビルド&からの展開に切り替える必要があります。

enter image description here

あなたは、スクリプトでPowerShellのビルドタスクとのいずれかのポイントを追加したり、それが短いかどうインライン使用することができます。多くのビルドで使用するスクリプトの場合は、独自のビルド・タスクを作成することができます。

+0

私は現在、TFS 2013 On Premiseを使用しています。とにかくチップに感謝します。 TeamCityは小規模チームには無料で、同じ機能を持っているので、私はTeamCityを使用します。 – sephirot

関連する問題