问题描述
我正在尝试通过Power Shell脚本访问Kudu.链接看起来像:https://adc-dev.scm.azurewebsites.net
.我需要复制位于以上链接中D:\home\site\wwwroot\bin\apache-tomcat-8.0.33\webapps
位置的war
文件.
I am trying to access Kudu through power shell script. Link looks like: https://adc-dev.scm.azurewebsites.net
. I need to copy war
file located in D:\home\site\wwwroot\bin\apache-tomcat-8.0.33\webapps
location in above link.
当前,我正在通过添加FTP任务使用VSTS部署war
文件.但是在部署最新的war
之前,我想在Azure Kudu位置的某些位置备份旧的war
,例如:D:\home\site\wwwroot\bin\apache-tomcat-8.0.33
(到war
位置的根文件夹).因此,在此之后,我可以删除war
并在Kudu中部署最新的war
文件.
Currently I am deploying the war
file using VSTS by adding FTP task. But before deploying the latest war
I would like to take backup of the old war
in some location in Azure Kudu location say like: D:\home\site\wwwroot\bin\apache-tomcat-8.0.33
(root folder to the war
location). So after that I can remove the war
and deploy the latest war
file in Kudu.
如何执行此操作?我的意思是如何使用Power Shell脚本访问Kudu.请建议我.
How to do this? I mean how to access kudu using power shell script. Please suggest me.
推荐答案
您可以参考下面的线程,以了解如何在VSTS构建/发行版中通过Azure PowerShell调用Kudu API:
You can refer to this thread below to know how to call Kudu API through Azure PowerShell in VSTS build/release:
关于通过Kudu复制文件,您可以使用Command Kudu API(发布/api/command):
Regarding copy file through Kudu, you can use Command Kudu API (Post /api/command):
更新:
通过Kudu API调用Command的简单示例:
Simple sample to call Command through 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
}
$bodyContent=@($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]"
这篇关于如何使用Power Shell脚本在Azure中访问Kudu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!