Skip to main content

使用 GitHub Connect 启用对 GitHub.com 操作的自动访问

要允许企业中的 GitHub Actions 使用来自 GitHub.com 的操作,您可以将企业实例连接到 GitHub Enterprise Cloud。

Who can use this feature

Enterprise owners can enable access to all GitHub.com actions.

注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。

关于自动访问 GitHub.com 操作

默认情况下,GitHub Enterprise Server 上的 GitHub Actions 工作流不能直接使用 GitHub.com 或 GitHub Marketplace 中的操作。 若要使 GitHub.com 中的所有操作在企业实例上可用,可以使用 GitHub Connect 将 GitHub Enterprise Server 与 GitHub Enterprise Cloud 集成。

若要使用 GitHub.com 中的操作,your GitHub Enterprise Server instance 和自托管运行器必须能够与 GitHub.com 建立出站连接。 不需要来自 GitHub.com 的入站连接。 有关详细信息, 有关详细信息,请参阅关于自承载运行器

或者,如果想要更严格地控制企业中允许哪些操作,则可以使用 actions-sync 工具手动下载操作并将其同步到企业实例中。 有关详细信息,请参阅“从 GitHub.com 手动同步操作”。

关于使用 GitHub Connect 的操作的解决方案

当工作流通过引用存储操作的存储库来使用操作时,GitHub Actions 将首先尝试在 your GitHub Enterprise Server instance 上查找存储库。 如果 your GitHub Enterprise Server instance 上不存在存储库,并且你启用了对 GitHub.com 的自动访问,GitHub Actions 将尝试在 GitHub.com 上查找存储库。

如果用户在企业中创建的组织和仓库与 GitHub.com 上的组织和仓库名称匹配,则将使用企业上的仓库代替 GitHub.com 仓库。 有关详细信息,请参阅“自动停用在 GitHub.com 上访问的操作的命名空间”。

启用对所有 GitHub.com 操作的自动访问

在为企业启用对 GitHub.com 的所有操作的访问权限之前,必须:

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub Enterprise Server 上个人资料照片下拉菜单中的“企业设置” 1. 在企业帐户边栏中,单击 “GitHub Connect”。 企业帐户边栏中的 GitHub Connect 选项卡
  2. 在“用户在工作流运行中可以使用 GitHub.com 上的操作”下,使用下拉菜单选择“已启用”。 工作流运行中用于访问 GitHub.com 上操作的下拉菜单
  3. 在启用 GitHub Connect 后,您可以使用策略限制哪些公共操作可用于您企业的仓库中。 有关详细信息,请参阅“为企业强制实施 GitHub Actions 策略”。

自动停用在 GitHub.com 上访问的操作的命名空间

启用 GitHub Connect 时,用户不会看到现有工作流程行为的变化,因为 GitHub Actions 在回退到 GitHub.com 之前会搜索 your GitHub Enterprise Server instance 上的每个操作。 这可确保企业创建的任何自定义版本的操作优先于 GitHub.com 上的对应版本。

自动停用在 GitHub.com 上访问的操作的命名空间,可阻止具有 your GitHub Enterprise Server instance 访问权限的恶意用户进行中间人攻击的可能性。 首次使用对 GitHub.com 执行的操作时,该命名空间将在 your GitHub Enterprise Server instance 中停用。 这将阻止任何用户在企业中创建与 GitHub.com 上的组织和存储库名称匹配的组织和存储库。 这可确保在工作流程运行时始终运行预期的操作。

使用 GitHub.com 中的操作后,如果要在 your GitHub Enterprise Server instance 中创建具有相同名称的操作,首先需要使该组织和存储库的命名空间可用。

  1. 从 GitHub Enterprise Server 上的管理帐户任意页面的右上角,单击

    用于访问站点管理员设置的火箭图标的屏幕截图

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

    “站点管理员”链接的屏幕截图

  3. 在左侧边栏中的“站点管理员”下,单击“已停用的命名空间” 。

  4. 找到要在 your GitHub Enterprise Server instance 中使用的命名空间,然后单击“取消停用”。 取消停用命名空间

  5. 转到相关组织并创建新的存储库。

    提示: 取消停用命名空间时,请务必尽快使用该名称创建新存储库。 如果在创建本地存储库之前,工作流程在 GitHub.com 上调用关联的操作,则命名空间将再次停用。 对于频繁运行的工作流程中使用的操作,您可能会发现命名空间在您有时间创建本地存储库之前再次停用。 在这种情况下,您可以暂时禁用相关工作流程,直到创建新存储库。