调用与Powershell同步

时间:2016-08-26 06:58:18

标签: powershell azure azure-web-sites azure-powershell azure-deployment

通常,我会将部署源集成到webapp,然后运行webapp仪表板中的“同步”按钮,并在需要时将Azure webapp与我的onedrive同步夹。

但是,如果我想提供非Azure用户,我的意思是,谁需要不登录Azure门户本身,而是可以通过演示调用凭证或排序,我该怎么办?或者,如果我想自己从shell运行它,如何处理?

是否可以使用服务主体或类似方式(powerbook,带有azure函数的http触发器进行同步)从power-shell 运行同步,而无需实际为用户提供登录凭据?< / p>

更新: 我在Kudu上阅读了这篇博客,但不确定这是否是我实际需要的。请建议。 https://dzimchuk.net/post/azure-web-apps-continuous-deployment

更新31/8月

我的工作流程有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

1 个答案:

答案 0 :(得分:2)

如果安装了最新的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

就让其他用户进行身份验证而言,您有几个选择:

  1. 您可以将它们设为该Web应用程序上的贡献者(使用RBAC - 基于角色的访问控制)
  2. 您可以设置Service Principal