注意
GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。
关于自动访问 GitHub.com 操作
默认情况下,位于 GitHub Actions 上的 GitHub Enterprise Server 工作流不能直接使用来自 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 为您的企业启用公共操作访问之前,您必须:
- 将 你的 GitHub Enterprise Server 实例 配置为使用 GitHub Actions。 有关详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
- 启用 GitHub Connect。 有关详细信息,请参阅“为 GitHub.com 启用 GitHub Connect”。
- 在 GitHub Enterprise Server 的右上角,单击你的个人资料头像,然后单击“Enterprise settings”****。
- 在页面顶部,单击 GitHub Connect。
- 在“用户可以在工作流运行中利用来自 GitHub.com 的操作”下,使用下拉菜单并选择启用。
- 启用 GitHub Connect后,可以使用策略来限制企业存储库中可以使用哪些公共操作。 有关详细信息,请参阅“在企业中强制实施GitHub Actions策略”。
自动弃用在 GitHub.com 上访问的操作所用命名空间
启用 GitHub Connect 时,用户不会发现现有工作流的行为有任何变化,因为 GitHub Actions 在回退到 你的 GitHub Enterprise Server 实例 之前,会针对每个操作搜索 GitHub.com。 这可确保优先使用企业创建的任何自定义版本的操作,而不是使用 GitHub.com 上的对应操作。
为了确保工作流使用其预期操作并阻止潜在的滥用行为,一旦在 GitHub.com 上首次使用某个操作,与该操作关联的命名空间就将在你的企业中停用。 这将阻止用户在企业中创建与 GitHub.com 上的操作命名空间匹配的组织和存储库。
使用操作 GitHub.com后,如果要创建 你的 GitHub Enterprise Server 实例 具有相同名称的操作,首先需要使该组织和存储库的命名空间可用。
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在左侧边栏中的“站点管理员”下,单击“已停用的命名空间” 。
-
在您要在 你的 GitHub Enterprise Server 实例 中使用的命名空间右侧,单击“取消停用”。
-
转到相关组织并创建新的存储库。
提示
取消停用命名空间时,请务必尽快使用该名称创建一个新存储库。 如果在创建本地存储库之前工作流调用关联的操作 GitHub.com ,命名空间将再次停用。 对于频繁运行的工作流程中使用的操作,您可能会发现命名空间在您有时间创建本地存储库之前再次停用。 在这种情况下,您可以暂时禁用相关工作流程,直到创建新存储库。