无法使用kudu api将.zip文件部署到azure应用程序服务

fnx2tebb  于 2021-06-21  发布在  Kudu
关注(0)|答案(2)|浏览(550)

我在发布管道中使用powershell内联任务将相应的zip文件部署到azure应用程序服务,但由于以下错误,我无法实现它。你能告诉我这里有什么我遗漏的吗。
我的错误率正在下降
invoke restmethod:路径'd:\a\r1\a\u ci-vi-maven/deploypackages/marnet.zip'解析为目录。请指定包含文件名的路径,然后重试该命令。

下面是我使用的脚本:
$username=“用户名”
$password=“密码”
$base64authinfo=[convert]::tobase64string([text.encoding]::ascii.getbytes((“{0}:{1}”-f$username,$password)))$useragent=“powershell/1.0”
$apiurl=“https://{appservice}.scm.azurewebsites.net/api/zip/site/wwwroot/webapps/”
$filepath=“$(system.defaultworkingdirectory)\u ci-vi-maven/deploypackages/marnet.zip”
invoke restmethod-uri$apiurl-headers@{authorization=(“basic{0}”-f$base64authinfo)}-useragent$useragent-method post-infle$filepath-contenttype“多部分/表单数据”

thigvfpy

thigvfpy1#

看这里

$username = "`$website"
$password = "pwd"

# Note that the $username here should look like `SomeUserName`, and**not**`SomeSite\SomeUserName`

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))
$userAgent = "powershell/1.0"

# Example 1: call the zip controller API (which uses PUT)

$apiUrl = "https://{sitename}.scm.azurewebsites.net/api/zip/site/wwwroot/"
$filePath = "C:\Temp\books.zip"
Invoke-RestMethod -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -UserAgent $userAgent -Method PUT -InFile $filePath -ContentType "multipart/form-data"

# Example 2: call the zipdeploy API (which uses POST)

$apiUrl = "https://{sitename}.scm.azurewebsites.net/api/zipdeploy"
$filePath = "C:\Temp\books.zip"
Invoke-RestMethod -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method POST -InFile $filePath -ContentType "multipart/form-data"

所以如果你想使用zip控制器api,请将动词改为put而不是post。

xsuvu9jc

xsuvu9jc2#

检查您的文件夹结构,似乎您有一个名为 marnet.zip !
你的问题发生在 $filePath = "$(System.DefaultWorkingDirectory)_CI-VI-Maven/DeployPackages/marnet.zip" 是文件夹的路径 marnet.zip 而不是真正的 marnet.zip 文件。
我的可复制步骤:
1.当我的工作 s.zip 文件直接位于build artifacts文件夹下。
2.更改build pipeline中的某些内容以创建 s.zip 文件夹,然后移动 s.zip 将文件复制到此文件夹。

3.然后,同样的问题出现了:

相关问题