在 VSTS 发布定义中使用 Azure CLI 中的服务主体

Use Service Principal in Azure CLI in VSTS Release Definition

我们有一个通过 VSTS 设置配置的资源管理器服务主体来访问 Azure 订阅。当我们使用内置任务的 Powershell 资源管理器时,一切都运行良好。但是,我们在 Mac 上有一个 运行 的构建代理,因为它需要构建一个 Xamarin 项目。

在 Xamarin 构建 .ipa 后,我们需要将其上传到 blob 存储。我们希望在每次发布时使用服务主体从 Azure 获取存储访问令牌,而不是自己存储令牌,但我们无权访问 Powershell,因为我们 运行 在 Mac 上.我们可以使用 Azure CLI,但我们需要访问内置 Powershell Azure RM 任务使用的相同服务主体信息。

有什么想法吗?

您可以将构建和上传操作分离为构建和发布。在构建定义中,运行 Xamarin 使用 Mac 代理构建并发布 .ipa 文件到工件,然后在发布定义中,使用 Windows 代理将工件上传到 Azure Blob。

Powershell is now available on Mac.

您可能需要安装 preview versions of the AzureRM cmdlets until the real ones are released