2017-10-23 6 views
-1

パワーシェルスクリプトからKuduにアクセスしようとしています。リンクは次のようになります。https://adc-dev.scm.azurewebsites.net。上記のリンクのD:\home\site\wwwroot\bin\apache-tomcat-8.0.33\webappsにあるwarファイルをコピーする必要があります。パワーシェルスクリプトを使用してAzureのKuduにアクセスする方法

現在、FTPタスクを追加してVSTSを使用してwarファイルを展開しています。しかし、最新のwarを導入する前に、私はAzure Kuduの場所のある場所で古いwarのバックアップを取っておきたいと思います:D:\home\site\wwwroot\bin\apache-tomcat-8.0.33warの場所にルートフォルダ)。それでは、warを削除し、最新のwarファイルをKuduに配備することができます。

これを行う方法?私はパワーシェルスクリプトを使ってkuduにアクセスする方法を意味します。私に提案してください。あなたが/リリースをビルドVSTSでのAzureのPowerShellを通じてクーズーのAPIを呼び出す方法を知るために、以下のこのスレッドを参照することができ

+0

これは、DevOps時代の実践前です。デプロイメントスロットを代わりに使用し、ステージングに公開し、ステージングをテストしてProdにスワップします。 stuffが正しく見えなくなった場合は、スワップバックしてください。 – evilSnobu

+0

こんにちはPeter、上記の答えを理解していないので、VSTSのタスク名について説明してください。あなたはVSTSでkuduにアクセスし、戦争バックアップを取る方法を教えてください。kuduの別のフォルダにコピーしてください)。説明してください。 –

答えて

0

Remove files and foldes on Azure before a new deploy from VSTS

コピーファイルについてクーズーを通じて、あなたはコマンドクーズーのAPIを使用することができます(ポスト/ API /コマンド):

Kudu REST API

更新:

シンプルKudu APIを介してコマンドを呼び出すサンプル:

function RunCommand($dir,$command,$resourceGroupName, $webAppName, $slotName = $null){ 
     $kuduApiAuthorisationToken = Get-KuduApiAuthorisationHeaderValue $resourceGroupName $webAppName $slotName 
     $kuduApiUrl="https://$webAppName.scm.azurewebsites.net/api/command" 
     $Body = 
      @{ 
      "command"=$command; 
      "dir"=$dir 
      } 
     [email protected]($Body) | ConvertTo-Json 
     Write-Host $bodyContent 
     Invoke-RestMethod -Uri $kuduApiUrl ` 
          -Headers @{"Authorization"=$kuduApiAuthorisationToken;"If-Match"="*"} ` 
          -Method POST -ContentType "application/json" -Body $bodyContent 
    } 


RunCommand "site\wwwroot\bin\apache-tomcat-8.0.33\webapps" "copy xx.war ..\xx.war /y" "[resource group]" "[web app]" 
+0

ありがとうMSFT.But私は私のproject.Justで実装することができるように正確なスクリプトを提供してください私はkudu(https://adc-dev.scm.azurewebsites.net)の下にあるから戦争ファイルをコピーする必要があります: \ home \ site \ wwwroot \ bin \ apache-tomcat-8.0.33 \ webapps場所をD:\ home \ site \ wwwroot \ bin \ apache-tomcat-8.0.33この場所にコピーし、D:\ homeからwarファイルを削除します\ site \ wwwroot \ bin \ apache-tomcat-8.0.33 \ webappsこの場所。その後、私はあなたのリンクを理解していないので、スクリプトを書く方法をftp.soを使ってVSTSから新しい戦争を展開することができます。私のレベルに。 –

+0

@PDBRPRAVEEN私の答えを更新しました。他のコードについては、私が提供するスレッドを参照してください。 –

+0

@PDBRPRAVEEN私はKudu apiでこの問題を解決しました[トリガーされたウェブジョブを止める最善の方法は何ですか](https://stackoverflow.com/questions/47027845/what-is-the-best-way-to-stop-triggered -web-jobs)、あなたはKudu APIでもこの問題を解決していますか? –

関連する問題