1

我正在尝试将 Azure DevOps 服务器的本地实例部署到 Azure 政府订阅中的 VM(从本质上讲,它似乎不支持标准 DevOps)。

此模板在 Microsoft 的支持材料中直接引用:

https://github.com/usri/deploy_DevOps_Server_AzureSQL

所有引用的资源都是为了让该服务器运行而从头开始创建的。

这需要具有存储在 Key Vault 中的关联密码的 AAD 帐户。但是,我每次尝试运行模板都会在“写入 VirtualMachines”步骤中返回以下错误(当所有其他组件都通过时):

客户端有权'Microsoft.Compute/images/read'对范围执行操作'(MY_SUBSCRIPTION)\(MY_RESOURCEGROUP)\(VM)',但当前租户'(MY_KEYVAULT)'无权访问链接订阅“(带有部署文件的模板中的 ID)”

在我看来,这似乎无法从 Key Vault 中检索到密码 - 这是 Secret 的格式问题吗?某个地方的访问控制问题?我已经尝试了许多不同的组合。希望这只是一个微不足道的问题..

4

1 回答 1

3

我是该仓库中代码的原作者。我继续将拉取请求合并到该回购中,这应该可以解决您的问题。我做了以下事情:

  • 更新了自述文件以包含有关创建映像的信息
  • 使用 Key Vault 和图像参考的参数更新了 azuredeploy.json
  • 更新了 ps1 文件以消除 KV 的硬链接(我的疏忽特别严重,我深表歉意)。
  • 为最新版本的 Azure DevOps Server 2020 更新并测试了所有内容

这应该可以解决您的问题和其他几个相关问题。我从头开始重新测试了整个部署,它按设计工作。其他一些快速说明:

USRI 及其所有存储库(包括此处使用的存储库)都不是Microsoft 官方存储库。它们代表了一个致力于受监管实体客户的开源 Azure 社区。在那里做出贡献的成员大多是 Microsoft 员工,而 repos 本身只是代表可能感兴趣的有趣且有时是利基模板。

这个特定的存储库展示了一种方式,当没有互联网连接可用或不允许时,Azure 模板可用于部署服务。我只是使用 Azure DevOps Server,因为它很有趣并且受监管的行业客户使用它。

一切顺利

于 2020-11-29T23:10:22.233 回答