【问题标题】:Deploying website from private Github repository using ARM Templates使用 ARM 模板从私有 Github 存储库部署网站
【发布时间】:2016-01-19 06:35:33
【问题描述】:

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

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

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

"Cannot find SourceControlToken with name GitHub."

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    没错。

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

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

    • 生成访问令牌

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

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

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

    【讨论】:

    • 听起来不错的解决方法,我试试看!
    • 我在公共回购中遇到了同样的问题,我无法完成这项工作,请您提供更多详细信息吗?
    • 看上面大卫的评论。但请确保您在来自世界各地的一个用户下工作。
    • 在托管身份下运行的东西……您不能“转到门户”??
    【解决方案2】:

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

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

    【讨论】:

    • 如果您被授予访问私有 GitHub 存储库但您自己不是其所有者的情况会怎样?
    • @IsaacAbraham 归结为是否允许您在 GitHub 存储库上添加 WebHooks 和 Deploy Keys。如果不是,那么根本无法将持续部署设置到任何地方(不是 Azure 特定的东西)。
    • 好的,干杯 - 我确信我可以添加它(这可能是它没有在 Azure 中显示为我可以“访问”的存储库的原因)。
    • @DavidEbbo 你知道如何让它与 AD 应用程序登录一起工作吗?
    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多