Skip to main content

Enterprise Server 3.15 目前作为候选发布提供。

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

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

谁可以使用此功能?

Enterprise owners can enable access to public 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 中的操作,GitHub Enterprise Server 和自托管运行器必须能够与 GitHub.com 建立出站连接。 不需要来自 GitHub.com 的入站连接。 有关详细信息, 有关详细信息,请参阅“关于自托管运行程序”。

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

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

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

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

启用对公共 GitHub.com 操作的自动访问

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

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“企业设置”****。

    单击 GitHub Enterprise Server 上的个人资料照片时显示的下拉菜单的屏幕截图。 “企业设置”选项以深橙色边框突出显示。

  2. 在企业帐户边栏中,单击 GitHub Connect。

  3. 在“用户在工作流运行中可以使用 GitHub.com 上的操作”下,使用下拉菜单选择“已启用”。

  4. 在启用 GitHub Connect 后,您可以使用策略限制哪些公共操作可用于您企业的仓库中。 有关详细信息,请参阅“在企业中为 GitHub Actions 实施策略”。

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

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

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

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

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击

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

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

  4. 在要在 你的 GitHub Enterprise Server 实例中使用的命名空间的右侧,单击“取消停用”。

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

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