10

我正在尝试通过 Azure 资源管理器创建一个网站,然后从私有 Github 存储库进行部署。

我有一个适用于公共存储库的 ARM 模板。如果我随后将存储库设为私有,请通过门户连接到它,一切正常。

如果我重新部署 ARM 模板,它将失败并显示消息

"Cannot find SourceControlToken with name GitHub."

似乎当门户网站连接到私人仓库时,它会创建一个用于身份验证的 ssh 密钥。

ssh 密钥似乎来自 kudu,一旦站点部署就可以获取。

我也尝试过使用访问令牌,但无法让这些与 repurl 一起使用

所以简单的问题是,我如何通过 ARM 模板部署私有仓库

4

2 回答 2

8

要通过 ARM 模板使用此功能,您首先需要使用预览门户 ( https://portal.azure.com/ )至少执行一次。您可以在任何网站上使用任何 repo 执行此操作。它只需要发生一次就可以建立 GitHub 关系。通过旧门户进行操作是行不通的。

然后,检查设置是否正确:

于 2015-10-30T13:27:33.707 回答
5

似乎当门户网站连接到私人仓库时,它会创建一个用于身份验证的 ssh 密钥。

这是正确的。

通过将 GitHub 存储库更改为 External Git 来解决相同的问题。

  • 创建新的 GitHub 帐户并共享对私有仓库的读取权限

  • 生成访问令牌

  • 并在模板、门户、azure rest api 等中使用下一个 url。

    https://{github-username}:{access-token}@github.com/{organisation-acount}/{repo}.git

此外,这将有助于避免 GitHub 对 20 个连接的限制,并且您可以在 20 多个 Azure WebApps 中使用您的存储库。

于 2015-10-22T08:46:43.523 回答