使用 Powershell 调用同步
Invoke Sync with Powershell
通常,我将部署源集成到 webapp,然后 运行 在 webapp 仪表板中找到的 'Sync' 按钮在需要时进行同步带有我的 onedrive 文件夹的 Azure webapp。
但是,如果我想给非 Azure 用户,我的意思是,谁需要不登录到 Azure 门户本身,而不是可以调用演示凭据或排序,我该怎么办?或者,如果我想从 shell 自己 运行 ,如何处理?
是否可以 运行 使用服务主体或类似方式从 power-shell 进行同步(运行books,http使用用于同步的 azure 函数触发)而不实际为用户提供登录凭据?
更新:
1. 我在 Kudu 上阅读了这篇博客,但不确定它是否是我真正要找的。请建议。 https://dzimchuk.net/post/azure-web-apps-continuous-deployment
8 月 31 日更新:
我的工作流程有 3 个插槽 dev/stage/mirror。我的目标是将 dev 与源代码库集成。因此,同步在最低环境下启用。
SiteName : YourWebApp(dev)
State : Running
DefaultHostName : YourWebApp-dev.azurewebsites.net
Id : /subscriptions/1234567890-{my}-{subscription}_{id}/resourceGroups/Default-Web/providers/Microsoft.Web/sites/YourWebApp/slots/dev
Name : YourWebApp/dev
Location : East US
Type : Microsoft.Web/sites/slots
如果你安装了最新的 Azure PowerShell,你可以运行这个命令来触发同步:
Invoke-AzureRmResourceAction -ResourceGroupName {YourResourceGroup} -ResourceType Microsoft.Web/sites -ResourceName YourWebApp -Action sync -ApiVersion 2015-08-01 -Force
或者,如果您处理的是插槽,它将如下所示:
Invoke-AzureRmResourceAction -ResourceGroupName {YourResourceGroup} -ResourceType Microsoft.Web/sites/slots -ResourceName YourWebApp/YourSlot -Action sync -ApiVersion 2015-08-01 -Force
就让其他用户进行身份验证而言,您有两种选择:
- 您可以让他们成为该 Web 应用程序的贡献者(使用 RBAC - 基于角色的访问控制)
- 你可以设置一个Service Principal
通常,我将部署源集成到 webapp,然后 运行 在 webapp 仪表板中找到的 'Sync' 按钮在需要时进行同步带有我的 onedrive 文件夹的 Azure webapp。
但是,如果我想给非 Azure 用户,我的意思是,谁需要不登录到 Azure 门户本身,而不是可以调用演示凭据或排序,我该怎么办?或者,如果我想从 shell 自己 运行 ,如何处理?
是否可以 运行 使用服务主体或类似方式从 power-shell 进行同步(运行books,http使用用于同步的 azure 函数触发)而不实际为用户提供登录凭据?
更新: 1. 我在 Kudu 上阅读了这篇博客,但不确定它是否是我真正要找的。请建议。 https://dzimchuk.net/post/azure-web-apps-continuous-deployment
8 月 31 日更新:
我的工作流程有 3 个插槽 dev/stage/mirror。我的目标是将 dev 与源代码库集成。因此,同步在最低环境下启用。
SiteName : YourWebApp(dev)
State : Running
DefaultHostName : YourWebApp-dev.azurewebsites.net
Id : /subscriptions/1234567890-{my}-{subscription}_{id}/resourceGroups/Default-Web/providers/Microsoft.Web/sites/YourWebApp/slots/dev
Name : YourWebApp/dev
Location : East US
Type : Microsoft.Web/sites/slots
如果你安装了最新的 Azure PowerShell,你可以运行这个命令来触发同步:
Invoke-AzureRmResourceAction -ResourceGroupName {YourResourceGroup} -ResourceType Microsoft.Web/sites -ResourceName YourWebApp -Action sync -ApiVersion 2015-08-01 -Force
或者,如果您处理的是插槽,它将如下所示:
Invoke-AzureRmResourceAction -ResourceGroupName {YourResourceGroup} -ResourceType Microsoft.Web/sites/slots -ResourceName YourWebApp/YourSlot -Action sync -ApiVersion 2015-08-01 -Force
就让其他用户进行身份验证而言,您有两种选择:
- 您可以让他们成为该 Web 应用程序的贡献者(使用 RBAC - 基于角色的访问控制)
- 你可以设置一个Service Principal