配置来自 GitHub 和 BitBucket 的自动化构建
注意
自动化构建需要 Docker Pro、Team 或 Business 订阅。
要自动构建和测试您的镜像,您可以将托管源代码服务链接到 Docker Hub,以便它可以访问您的源代码仓库。您可以为用户帐户或组织配置此链接。
如果您要链接源代码提供商以创建团队的自动构建,请按照说明创建团队的服务帐户,然后再按照以下说明链接帐户。
链接到 GitHub 用户帐户
登录 Docker Hub。
选择右上角导航栏中的**设置**图标,然后选择**仓库设置**。
在**已链接帐户**选项卡中,为要链接的源代码提供商选择**链接提供商**。
如果您想取消链接当前的 GitHub 帐户并重新链接到新的 GitHub 帐户,请确保在通过 Docker Hub 链接之前完全退出GitHub。
查看**Docker Hub Builder** OAuth 应用程序的设置。
注意
如果您是任何 GitHub 组织的所有者,您可能会在此屏幕上看到授予 Docker Hub 访问权限的选项。您还可以单独编辑组织的第三方访问设置以授予或撤销 Docker Hub 的访问权限。请参阅授予对 GitHub 组织的访问权限以了解更多信息。
选择**授权 docker** 以保存链接。
授予对 GitHub 组织的访问权限
如果您是 GitHub 组织的所有者,您可以授予或撤销 Docker Hub 对该组织的代码仓库的访问权限。根据 GitHub 组织的设置,您可能需要成为组织所有者。
如果组织之前没有授予或撤销特定访问权限,您通常可以在链接用户帐户的同时授予访问权限。在这种情况下,在链接帐户屏幕中,组织名称旁边会出现一个**授予访问权限**按钮,如下所示。如果此按钮未出现,则必须手动授予应用程序的访问权限。
要手动授予 Docker Hub 对 GitHub 组织的访问权限
使用上述说明链接您的用户帐户。
在您的 GitHub 帐户设置中,找到左下角的**组织设置**部分。
选择要授予 Docker Hub 访问权限的组织。
选择第三方访问。
页面会显示第三方应用程序列表及其访问状态。
选择Docker Hub Builder旁边的铅笔图标。
选择组织旁边的授予访问权限。
撤销对 GitHub 组织的访问权限
要撤销 Docker Hub 对组织的 GitHub 存储库的访问权限
在您的 GitHub 帐户设置中,找到左下角的**组织设置**部分。
选择您要撤销 Docker Hub 访问权限的组织。
在组织配置文件菜单中,选择第三方访问。页面会显示第三方应用程序列表及其访问状态。
选择 Docker Hub Builder 旁边的铅笔图标。
在下一页,选择拒绝访问。
取消链接 GitHub 用户帐户
要撤销 Docker Hub 对您 GitHub 帐户的访问权限,您必须同时将其从 Docker Hub 和您的 GitHub 帐户中取消关联。
选择右上角导航栏中的**设置**图标,然后选择**仓库设置**。
在已关联帐户选项卡中,选择要删除的源提供商旁边的插件图标。
转到您 GitHub 帐户的设置页面。
在左侧导航栏中选择应用程序。
选择 Docker Hub Builder 应用程序右侧的
...
菜单,然后选择撤销。
注意
每个配置为自动构建源的存储库都包含一个 Webhook,用于在存储库发生更改时通知 Docker Hub。当您撤销对源代码提供商的访问权限时,此 Webhook 不会自动删除。
链接到 Bitbucket 用户帐户
使用您的 Docker ID 登录 Docker Hub。
选择右上角导航栏中的**设置**图标,然后选择**仓库设置**。
在**已链接帐户**选项卡中,为要链接的源代码提供商选择**链接提供商**。
如有必要,登录 Bitbucket。
在出现的页面上,选择授予访问权限。
取消链接 Bitbucket 用户帐户
要永久撤销 Docker Hub 对您 Bitbucket 帐户的访问权限,您必须同时将其从 Docker Hub 中取消关联,并在您的 Bitbucket 帐户中撤销授权。
登录 Docker Hub。
选择右上角导航栏中的**设置**图标,然后选择**仓库设置**。
在已关联帐户选项卡中,选择要删除的源提供商旁边的插件图标。
重要
在 Docker Hub 上取消关联帐户后,您还必须在 Bitbucket 端撤销授权。
要撤销 Bitbucket 帐户中的授权
转到您的 Bitbucket 帐户并导航到 Bitbucket 设置。
在出现的页面上,选择OAuth。
在 Docker Hub 行旁边选择撤销。


注意
每个配置为自动构建源的存储库都包含一个 Webhook,用于在存储库发生更改时通知 Docker Hub。当您撤销对源代码提供商的访问权限时,此 Webhook 不会自动删除。