GitHub Enterprise is the on-premises version of GitHub.com. It makes collaborative coding possible and enjoyable for large-scale enterprise software development teams. A full list of specs and features are detailed on our data sheet.
GitHub Enterprise includes the same great set of features as GitHub.com but packaged for running on your organization's local network. All repository data is stored on machines that you control, and access is integrated with your organization's authentication system (LDAP, SAML, or CAS).
GitHub Enterprise also includes support for pre-receive hooks, a powerful tool that can help you enforce critical business rules, meet compliance requirements and help prevent other undesired changes from ever being made.
Use GitHub Enterprise when you need complete control over repository and project information.
Yes. 45-day evaluation licenses are available and may be upgraded to full licenses at any time during the trial period. To get started, try GitHub for free. We'll contact you shortly after with information on downloading the software and installing trial license keys.
GitHub Enterprise is delivered as a virtual appliance that includes all software required to get up and running. The only additional software required is a compatible virtual machine environment.
The following minimal hardware requirements are suggested for production deployments:
You can think of a virtual appliance as the equivalent of a network appliance that you might buy, mount in a rack, and plug into your network. The only difference is that it runs as a virtual machine inside of VMware or some other virtualization platform rather than as a physical device you mount in a rack.
This saves time (you can download the appliance and all updates immediately) and space (you just add it to your existing virtualization infrastructure). It also makes managing, backing up, and restoring the appliance easy because you can use your virtualization platform's built-in snapshotting capabilities.
You can learn more about virtual appliances here.
We currently support the following environments.
| Platform | Image Format |
|---|---|
| VMware | OVF |
| OpenStack KVM | QCOW2 |
| XenServer | VHD |
| Hyper-V | VHD |
| Microsoft Azure | VHD |
| Amazon Web Services (AWS) | AMI |
| Google Cloud Platform (GCP) | Google Compute Engine (GCE) image |
Please contact us if we don't support your environment.
Yes, as of GitHub Enterprise 2.5. However, clustering is designed for specific scaling situations and is not intended for every organization.
Please refer to the Clustering Guide to learn more about clustering.
Clustering provides better scalability by distributing load across multiple nodes. This horizontal scaling may be preferable for some organizations with tens of thousands of developers. However, setting up a redundant and scalable cluster can be complex and requires careful planning. This additional complexity will need to be planned for during installation, disaster recovery scenarios, and upgrades.
GitHub Enterprise requires low latency between nodes and is not intended for redundancy across geographic locations.
Clustering provides redundancy, but it is not intended to replace the High Availability Configuration. A primary/secondary failover configuration is far simpler than clustering and will serve the needs of many organizations.
Clustering is designed for specific scaling situations and is not intended for every organization. If clustering is something you'd like to consider, please contact your dedicated representative or our account management team at [email protected].
Yes. GitHub Enterprise supports external user authentication via LDAP, CAS, or SAML. The setup process includes a step for configuring your organization's identity management information.
By default, GitHub Enterprise runs in a self-contained authentication mode with user information stored in the GitHub Enterprise database. LDAP, SAML, or CAS is not required.
GitHub Enterprise supports any provider that follows the LDAP specification. See this article for a full list of supported providers.
GitHub Enterprise supports any provider that follows the SAML 2.0 standard. See this article for a full list of supported providers.
The product includes a number of features that provide granular control over repository access. Each repository may specify the following general access rights for each team or collaborator:
In addition to these access levels, you can use protected branches inside a repository to prevent force pushes to specific branches. You can also define individuals or teams who are allowed to push to a branch, preventing others from making changes.
Required statuses offer more control over changes made in protected branches. Using required statuses, you can disable the ability to merge changes into protected branches until certain CI checks pass.
GitHub Enterprise ships with the same collaboration features for Organizations found on GitHub.com. These simplify the process of managing access for teams of users that you define.
No. GitHub Enterprise is designed for collaboration within an organization only. Externally accessible installations must have the Private Mode option enabled. Note that GitHub.com offers free hosting of unlimited public repositories.
Yes. We offer web-based training, in-person training and provide a myriad of free, high-quality educational materials. Please contact the GitHub Training Team for more information.