注:GitHub Enterprise Server 2.22 上的 GitHub Actions 支持是有限的公测版。 测试已结束。 GitHub Actions 现在一般可用于 GitHub Enterprise Server 3.0 或更新版本。 更多信息请参阅 GitHub Enterprise Server 3.0 发行说明。
- 有关升级到 GitHub Enterprise Server 3.0 或更新版本的更多信息,请参阅“升级 GitHub Enterprise Server”。
- 有关在升级后配置 GitHub Actions 的更多信息,请参阅 GitHub Enterprise Server 3.0 的文档。
注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。
GitHub Enterprise Server 上的 GitHub Actions 设计为在无法完全访问互联网的环境中工作。 默认情况下,工作流程不能使用直接来自 GitHub.com 和 GitHub Marketplace 的操作。
推荐的允许从 GitHub.com 访问操作的方法是启用自动访问所有操作。 通过使用 GitHub Connect 将 GitHub Enterprise Server 与 GitHub Enterprise Cloud 集成可实现这一点。 更多信息请参阅“启用使用 GitHub Connect 自动访问 GitHub.com 操作”。
However, if you want stricter control over which actions are allowed in your enterprise, you can follow this guide to use GitHub's open source actions-sync
tool to sync individual action repositories from GitHub.com to your enterprise.
关于 actions-sync
工具
actions-sync
工具必须在可以访问 GitHub.com API 和 GitHub Enterprise Server 实例的 API 的计算机上运行。 计算机不需要同时连接到两者。
如果计算机可以同时访问这两个系统,您可以使用单一 actions-sync sync
命令进行同步。 如果您一次只能访问一个系统,您可以使用 actions-sync pull
和 push
命令。
actions-sync
工具只能从存储在公有仓库中的 GitHub.com 下载操作。
基本要求
-
在使用
actions-sync
工具之前,您必须确保所有目标组织已经存在于您的企业中。 以下示例演示如何将操作同步到名为synced-actions
的组织。 更多信息请参阅“从头开始创建新组织”。 -
您必须在企业上创建可以创建并写入目标组织中的仓库的个人访问令牌 (PAT)。 For more information, see "Creating a personal access token."
-
如果您想同步 您的 GitHub Enterprise Server 实例 上
actions
组织中的捆绑操作,您必须是actions
组织的所有者。注意: 默认情况下,即使站点管理员也不是捆绑的
actions
组织的所有者。站点管理员可以在管理 shell 中使用
ghe-org-admin-promot-promotion
命令将用户升级为捆绑的actions
组织的所有者。 更多信息请参阅“访问管理 shell (SSH)”和“ghe-org-admin-promote
”。ghe-org-admin-promote -u USERNAME -o actions
Example: Using the actions-sync
tool
This example demonstrates using the actions-sync
tool to sync an individual action from GitHub.com to an enterprise instance.
Note: This example uses the actions-sync sync
command, which requires concurrent access to both the GitHub.com API and your enterprise instance's API from your machine. If you can only access one system at a time, you can use the actions-sync pull
and push
commands. For more information, see the actions-sync
README.
-
Download and extract the latest
actions-sync
release for your machine's operating system. -
创建一个目录来存储工具的缓存文件。
-
Run the
actions-sync sync
command:./actions-sync sync \ --cache-dir "cache" \ --destination-token "aabbccddeeffgg" \ --destination-url "https://my-ghes-instance" \ --repo-name "actions/stale:synced-actions/actions-stale"
上述命令使用以下参数:
-
--cache-dir
:运行命令的计算机上的缓存目录。 -
--destination-toke
:目标企业实例的个人访问令牌。 -
--destination-url
:目标企业实例的 URL。 -
--repo-name
:要同步的操作仓库。 这将使用格式owner/repository:destination_owner/destination_repository
。- 上面的示例将
actions/stale
仓库同步到目标企业实例上的synced-actions/actions-stale
仓库。 在运行上述命令之前,您必须在企业中创建名为synced-actions
的组织。 - 如果您省略
:destination_owners/destination_repost
,工具将使用企业的原始所有者和仓库名称。 在运行命令之前,必须在企业中创建一个与操作的所有者名称匹配的新组织。 考虑使用一个中心组织来存储企业中同步的操作,因为这样在同步来自不同所有者的操作时,将无需创建多个新的组织。 - 将
--repo-name
参数替换为--repo-name-list
或--repo-name-list-file
便可同步多个操作。 更多信息请参阅actions-sync
README。
- 上面的示例将
-
-
在企业中创建操作仓库后,企业中的人员可以使用目标仓库在其工作流程中引用操作。 对于上面显示的示例操作:
uses: synced-actions/actions-stale@v1
更多信息请参阅“GitHub Actions 的工作流程语法”。