使用ARM模板从私有Github存储库部署网站

时间:2015-10-20 14:27:39

标签: azure azure-resource-manager arm-template

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

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

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

"Cannot find SourceControlToken with name GitHub."

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

ssh键似乎来自kudu,可以在部署站点后获得。

我也尝试过使用访问令牌,但无法使用repourl

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

2 个答案:

答案 0 :(得分:7)

要通过ARM模板使用此功能,您需要首先使用预览门户(https://portal.azure.com/)至少执行一次。您可以在任何网站上以及任何仓库中执行此操作。它只需要发生一次以建立GitHub关系。通过旧门户网站完成这项工作。

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

答案 1 :(得分:5)

  

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

多数民众赞成。

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

  • 创建新的GitHub帐户并共享对私人仓库的读取权限
  • 生成访问令牌
  • 在模板,门户网站,azure rest api等中使用下一个网址

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

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