azure - 如何使用 PowerShell(az 模块)部署到 Azure 应用服务?

标签 azure powershell web-deployment azure-web-app-service

我想从 Powershell 部署应用服务。 我只想使用发布配置文件( azure 帐户没有密码)。

我尝试了FTP服务,但有时文件会被正在运行的用户阻止。 我想我必须停止应用服务。

有如下 powershell 命令:

Publish-AzWebApp

但是首先我需要登录:

Connect-AzAccount

并传递我想避免的凭据。

有什么方法可以仅基于发布配置文件(无需帐户登录)来调用Publish-AzWebApp

Connect-AzAccount 有其他登录选项( token 或证书)。 不幸的是我不知道如何生成它。

顺便说一句,有一个关于它的话题: How do I deploy to Azure App Service with PowerShell? 但它已经很旧了,现在推荐使用模块“az”。

最佳答案

There is any way to call Publish-AzWebApp based on only publish profile (no login by account)?

不,你不能。如果您想使用 Publish-AzWebApp ,则始终需要使用 Connect-AzAccount 登录,无论您使用什么参数,示例 here .

如果您想使用 powershell 仅基于发布配置文件部署 Web 应用程序,解决方法是 use Kudu API via powershell .

$username = "`$webappname"
$password = "xxxxxxx"
# 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"

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

关于azure - 如何使用 PowerShell(az 模块)部署到 Azure 应用服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57668548/

相关文章:

c# - 访问 Json 序列化器选项以避免在 Azure Functions v3 中序列化 null

azure - 在 IIS 上或本地使用事件网格

asp.net-mvc - Visual Studio 2010 未将 .CSHTML(Razor View Engine)设置为内容

c# - 如何使用 MsBuild 以编程方式停止或启动 IIS(6.0 和 7.0)中的网站?

c# - Azure Active Directory 获取所有用户 - (可能死锁)

c# - WPF 从 Blob 存储下载图像字节

windows - Ansible无法通过SSH连接到Windows节点

arrays - 将数组值放入powershell中的字符串

powershell - 如何使用powershell选择没有扩展名的文件

node.js - 将 Sails.js 应用程序部署到 Heroku?