注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。
About GitHub Actions on GitHub Enterprise Server
This article explains how site administrators can configure GitHub Enterprise Server to use GitHub Actions.
GitHub Actions 在 GitHub Enterprise Server 3.0 或更高版本中可用。 如果使用的是早期版本的 GitHub Enterprise Server,则必须升级才能使用 GitHub Actions。 有关升级 GitHub Enterprise Server 实例的详细信息,请参阅“关于升级到新版本”。
GitHub Actions 默认情况下未为 GitHub Enterprise Server 启用。 You'll need to determine whether your instance has adequate CPU and memory resources to handle the load from GitHub Actions without causing performance loss, and possibly increase those resources. You'll also need to decide which storage provider you'll use for the blob storage required to store artifacts generated by workflow runs. Then, you'll enable GitHub Actions for your enterprise, manage access permissions, and add self-hosted runners to run workflows.
在开始之前,应制定一个计划,了解如何将 GitHub Actions 引入企业。 有关详细信息,请参阅“将 GitHub Actions 引入� 的企业”。
如果要将企业从其他提供商迁移到 GitHub Actions,则需要考虑其他注意事项。 有关详细信息,请参阅“将� 的企业迁移到 GitHub Actions”。
Review hardware requirements
The CPU and memory resources available to your GitHub Enterprise Server instance determine the number of jobs that can be run concurrently without performance loss. GitHub 建议至少使用 8 个 vCPU 和 64 GB 内存来运行 GitHub Actions。
The peak quantity of concurrent jobs running without performance loss depends on such factors as job duration, artifact usage, number of repositories running Actions, and how much other work your instance is doing not related to Actions. Internal testing at GitHub demonstrated the following performance targets for GitHub Enterprise Server on a range of CPU and memory configurations:
vCPU | 内存 | 最大并行数 |
---|---|---|
32 | 128 GB | 1000 个作业 |
64 | 256 GB | 1300 个作业 |
96 | 384 GB | 2200 个作业 |
Maximum concurrency was measured using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance.
If you plan to enable GitHub Actions for the users of an existing instance, review the levels of activity for users and automations on the instance and ensure that you have provisioned adequate CPU and memory for your users. For more information about monitoring the capacity and performance of GitHub Enterprise Server, see "Monitoring your appliance."
For more information about minimum hardware requirements for your GitHub Enterprise Server instance, see the hardware considerations for your instance's platform.
有关调整现有实例的资源的详细信息,请参阅“增� 存储容量”和“增� CPU 或内存资源”。
External storage requirements
To enable GitHub Actions on GitHub Enterprise Server, you must have access to external blob storage.
GitHub Actions uses blob storage to store data generated by workflow runs, such as workflow logs and user-uploaded build artifacts. The amount of storage required depends on your usage of GitHub Actions. Only a single external storage configuration is supported, and you can't use multiple storage providers at the same time.
GitHub Actions supports these storage providers:
- Azure Blob storage
- Amazon S3
- S3-compatible MinIO Gateway for NAS
Note: These are the only storage providers that GitHub supports and can provide assistance with. Other S3 API-compatible storage providers are unlikely to work due to differences from the S3 API. Contact us to request support for additional storage providers.
警告:MinIO 已宣布� 除 MinIO 网关。 从 2022 年 6 月 1 日起,当前 MinIO NAS 网关实施的支持和 Bug 修复将仅通过其 LTS 支持合同提供给付费客户。 如果要继续使用 MinIO 网关与 GitHub Actions,我们建议转向 MinIO LTS 支持。 有关详细信息,请参阅计划� 除 minio/minio 存储库中的适用于 GCS、Azure 和 HDFS 的 MinIO 网� �。
Before you enable GitHub Actions, you can test your storage configuration from the administrative shell with the ghe-actions-precheck
utility. For more information, see "Command-line utilities" and "Accessing the administrative shell (SSH)."
Networking considerations
如果为企业启用了 GitHub Actions,则仅支持 HTTP 代理。 不支持 SOCKS5 和 HTTPS 代理。 For more information about using a proxy with GitHub Enterprise Server, see "Configuring an outbound web proxy server."
Enabling GitHub Actions with your storage provider
Follow one of the procedures below to enable GitHub Actions with your chosen storage provider:
- Enabling GitHub Actions with Azure Blob storage
- Enabling GitHub Actions with Amazon S3 storage
- Enabling GitHub Actions with MinIO Gateway for NAS storage
Managing access permissions for GitHub Actions in your enterprise
You can use policies to manage access to GitHub Actions. For more information, see "Enforcing GitHub Actions policies for your enterprise."
Adding self-hosted runners
注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。
To run GitHub Actions workflows, you need to add self-hosted runners. You can add self-hosted runners at the enterprise, organization, or repository levels. For more information, see "Adding self-hosted runners."
Managing which actions can be used in your enterprise
You can control which actions your users are allowed to use in your enterprise. This includes setting up GitHub Connect for automatic access to actions from GitHub.com, or manually syncing actions from GitHub.com.
For more information, see "About using actions in your enterprise."
GitHub Actions 的一般安全性增强
若要详细了解有关 GitHub Actions 的安全做法,请参阅“GitHub Actions 的安全性增强”。
Reserved names
When you enable GitHub Actions for your enterprise, two organizations are created: github
and actions
. If your enterprise already uses the github
organization name, github-org
(or github-github-org
if github-org
is also in use) will be used instead. If your enterprise already uses the actions
organization name, github-actions
(or github-actions-org
if github-actions
is also in use) will be used instead. Once actions is enabled, you won't be able to use these names anymore.