2017-03-16 3 views
0

VSTSの単一のリリース定義に複数のwebジョブを展開しようとしています。「Azure app service deploy」を使用したwebjobのデプロイと宛先オプションでの追加ファイルの削除

私のwebjobsに含まれるファイルが変更(追加/更新/削除)できるということです。既定では、新しいバージョンがタスクAzure app service deployを使用して展開されると、既存のファイルはサーバーから削除されません。この結果、私のwebjob内の非難されたファイルがサーバーに残り、エラーが発生します。

私の問題を解決するために、「宛先で追加ファイルを削除する」を有効にしようとしました。しかし、各Webジョブを別々のタスク(1つのWebパッケージのみをサポートするAzure app service deploy)に配備する必要があるため、連続して配備されるたびに以前に配備されたWebジョブのファイルが削除されます。

これを簡単に解決する方法はありますか?

現在のところ、私の唯一の推測は、powershellでWebアプリケーションに接続し、コマンドレットRemove-AzureWebsiteJobで既存のwebジョブを削除することです。
私の主な懸念事項は、私が想定しているウェブジョブ全体を削除することです。ログと実行履歴も削除されます...

+0

これらの機能を実行するにはpowershellタスクを使用してください https://stackoverflow.com/questions/43801618/remove-files-and-foldes-on-azure-before-a-new-deploy-from-vsts – vip32

答えて

1

これを行う方法はありますが、 wawsdeploy tool

あなたはChocolateyからツールを取得した後:

  • アプリの公開プロフィールフォームポータルをダウンロードしてください。
  • 特定のWebJobに展開するファイルがあるフォルダに移動します。
  • 実行します。ここではwawsdeploy . c:\folderwithyourprofile\YourApp.PublishSettings /t D:\home\site\wwwroot\App_Data\jobs\continuous\YourJob /d

/dはそれが一つのフォルダ内のすべての未知のファイルにを削除する原因となるので、それはあなたの他のWebJobsには触れません。 /dを使わずに最初に実行してみてください。ツールを快適に使い、ファイルの削除が始まる前に適切な場所にファイルが置かれていることを確認してください。

msdeployコマンドラインでも同様のことが可能ですが、非常に複雑なパラメータセットが必要です。これに関する詳細については私のpostを参照してください。

+0

ありがとう説明はありますが、ビルド/リリースの定義はVSTSのホストされたエージェントで実行されています。管理者権限(chocoの使用やエージェントの新しいパッケージのインストールなど)は許可されません。 WAWSDeployがmsdeployの周りのラッパーだけであるかのように私はあなたの記事を見ています。もしオーバーヘッドを通過できれば同じ結果を得ることができます – GGirard

+0

はい、msdeploy.exeを直接使うことができるはずです。コマンドラインの構文は大変です。あなたはちょうど使用できるmsdeployタスクがVSTSにはありませんか? –

+0

利用可能なもののどれも私の晴れたウェブアプリのwebjobフォルダだけをきれいにすることはできません – GGirard

関連する問題