2017-04-06 16 views
0

質問を述べる前に、これはサーバー管理の問題の可能性があることを認識していますが、VSTSリリースプロセスを修正/サーバーのアクセス許可(私はこれがサーバーの問題だとは思わない)。リモートサーバー上で使用されているファイルのためにVSTSのリリースに失敗する

VSTSビルド定義とリリース定義があります。 リリース定義は、ファイルをビルドからリモートサーバー(IISサイト)にコピーします。

私の問題は、このプロセスが約60%の時間で失敗することです。障害エラーを示す

ログファイル:

2017-04-06T17:06:07.3886551Z Executing the powershell script: D:\BuildAgent\agent\tasks\IISWebAppDeploy\1.4.3\Main.ps1 
2017-04-06T17:06:07.5605268Z Starting deployment of IIS Web Deploy Package : \\server01\Deploy\patrol\dev\rest_service\822\822.zip 
2017-04-06T17:06:07.6542742Z Performing deployment in parallel on all the machines. 
2017-04-06T17:06:07.6542742Z Deployment started for machine: SERVER01 with port 5985. 
2017-04-06T17:06:27.9820654Z Deployment status for machine SERVER01 : Failed 
2017-04-06T17:06:28.0133029Z Deployment failed on machine SERVER01 with following message : System.Exception: Error Code: ERROR_FILE_IN_USE 
2017-04-06T17:06:28.0445759Z ##[error]Microsoft.PowerShell.Commands.WriteErrorException: Deployment on one or more machines failed. 
2017-04-06T17:06:28.0445759Z ##[error]For more info please refer to http://aka.ms/iisextnreadme 

私は手動でサーバーにリモート処理し、手動でターゲットディレクトリの内容を削除することによって、問題をcircumvate。私は、リリースが失敗するたびに手動で削除すると、別のプロセスで.exeファイルが使用されていることを警告するポップアップが表示されることを発見しました。私の疑念は、これがリリースが失敗している理由だということです。

ターゲットディレクトリを強制的に削除/クリアするためにリリースに追加できる追加ステップがありますか?

+2

おそらく、代わりにファイルを使用しているどのようなプロセス* *識別する必要があります。そして、あなたのリリースの一環としてそのプロセスを停止し、再起動するように手配してください。またはそのプロセスを排除する。どのようなプロセスがWindowsでファイルを開いたまま保持しているのかを調べるにはどうすればよいですか?(http://serverfault.com/questions/1966) – mason

+0

masonと同じように、どのファイルが使用されていて、どのプロセスがそれを使用しているのかを共有できますか? –

+0

IIS Web Deploymentのステップ/タスクのオフラインアプリケーションを使用するオプションがあります。このオプションをチェックしてみてください。一方、展開する前に、対応するWebサイトを停止してみてください。 (https://marketplace.visualstudio.com/items?itemName=Lemoinek.IISutilities) –

答えて

0

Windows Machine File Copyタスクを使用して、ビルドからリモートサーバーにファイルをコピーできます。 Clean Targetを選択すると、リモートサーバーにファイルをコピーする前に、まずターゲットの宛先フォルダがクリーニングされます。

enter image description here

+0

はい、それは私が従うプロセスです。私はリリースでそのステップを持っています。問題は、クリーンがファイル私はなぜそれがいくつかの時間だけに失敗する理由を取得しない....コピーされているファイルは、.netコアmvc​​アプリケーションであり、サーバーはIIS 7を使用している。 –

+0

しかし、Windowsマシンファイルコピーは '\ path \ to \ agent/\ _ work \ _tasks \ WindowsMachineFileCopy_731004d4-1d66-4f70-8c05-638018b22210 \ 1.0.40 \ WindowsMachineFileCopy.ps1'として呼び出す必要があります。 –

関連する問題