2011-12-05 6 views
1

MSDeployを使用してローカルボックスの1つにWebサイトを展開する自動化TFS 2010チームビルドを作成しようとしています。良い文書を見つけることができないことを除けば、問題の大部分はサイトがネイティブのC++ dllを使用していることです。私は物事がほぼ正常に動作するように管理しましたが、サイトはビルド時にデプロイされますが、通常はネイティブdllが使用されており、前回の再起動後にサイトにアクセスした場合はデプロイメントが妨げられます。リモートサーバーにファイルを展開する直前に、アプリケーションプールのリサイクルを強制したり、サイト/アプリケーションを再起動したりしたいと考えています。私は手動でこれを達成するには、コマンドプロンプトで次のように使用することができますパブリッシングパイプラインは、サーバーにファイルをコピーしようとする前にそれが起こるようにチームビルド中に自動化されたWebサイト公開を使用してアプリケーションプールリサイクルまたはWebサイトを強制的に再起動する

msdeploy -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/Application",computerName="MyServer" 

はどのようにビルドプロセスにこれをフックしますか?

答えて

1

ワークフローでInvokeProcessアクティビティを使用できます。上記のコマンドラインを含むバッチスクリプトを呼び出すことができます。

公開する前に、アクティビティをドラッグしてステップとして挿入できます(ワークフローデザイナを使用していると仮定します)。

別のユーザーとしてスクリプトを実行する必要がある場合は、多くの有益な提案があります。hereとリンクされたブログにあります。

私はTFSを構築して稼働させるためにSOとEwaldに謝っています。

+0

私はこれをあなたが規定した方法で働かせました。私はそれをやりたいと思う方法ではありません(私はむしろ適切なタイミングで実行される.projファイルにフックを追加したいと思います)が、ハードルを乗り越えてくれました。ご協力いただきありがとうございます! – Tom

関連する問題