Learn how to increase developer productivity and code quality with GitHub Enterprise Server.
Test upgrades in staging, notify users of maintenance, and upgrade your instance for the latest features and security updates.
Back up your developers' code and configure high availability (HA) to ensure the reliability of GitHub Enterprise Server in your environment.
Review network configuration and security features, and harden the instance running GitHub Enterprise Server to protect your enterprise's data.
Allow your developers to create, automate, customize, and execute powerful software development workflows for your GitHub Enterprise Server instance with GitHub Actions.
Improve the quality and security of your developers' code with GitHub Advanced Security.
You can configure built-in authentication to authenticate users who don't have access to your identity provider that uses LDAP, SAML, or CAS.
You can change the way GitHub Enterprise Server authenticates with your existing accounts at any time.
CAS is a single sign-on (SSO) protocol for multiple web applications. A CAS user account does not take up a user license until the user signs in.
LDAP lets you authenticate GitHub Enterprise Server against your existing accounts and centrally manage repository access. LDAP is a popular application protocol for accessing and maintaining directory information services, and is one of the most common protocols used to integrate third-party software with large company user directories.
SAML is an XML-based standard for authentication and authorization. GitHub Enterprise Server can act as a service provider (SP) with your internal SAML identity provider (IdP).
SSH access allows you to run the GitHub Enterprise Server command line utilities to troubleshoot, run backups, and configure replication.
You can use the Management Console to manage virtual appliance settings such as the domain, authentication, and SSL.
We recommend setting a hostname for your appliance instead of using a hard-coded IP address.
As part of a disaster recovery plan, you can protect production data on your GitHub Enterprise Server instance by configuring automated backups.
You can view default firewall rules and customize rules for your GitHub Enterprise Server instance.
You can enable, configure and disable code scanning for your GitHub Enterprise Server instance. Code scanning allows users to scan code for vulnerabilities and errors.
GitHub Enterprise Server uses the dynamic host configuration protocol (DHCP) for DNS settings when DHCP leases provide nameservers. If nameservers are not provided by a dynamic host configuration protocol (DHCP) lease, or if you need to use specific DNS settings, you can specify the nameservers manually.
You can set rate limits for GitHub Enterprise Server using the Management Console.
You can enable, configure, and disable secret scanning for your GitHub Enterprise Server instance. Secret scanning allows users to scan code for accidentally committed secrets.
You can configure Transport Layer Security (TLS) on your GitHub Enterprise Server instance so that you can use a certificate that is signed by a trusted certificate authority.
After you enable GitHub Connect, you can share specific features and workflows between your GitHub Enterprise Server instance and GitHub Enterprise Cloud.
Some standard maintenance procedures, such as upgrading your GitHub Enterprise Server instance or restoring backups, require the instance to be taken offline for normal use.
You can connect your GitHub Enterprise Server instance to GitHub Enterprise Cloud and allow GitHub Enterprise Server to upload user license information to your enterprise account on GitHub.com.
In private mode, GitHub Enterprise Server requires every user to sign in to access the installation.
You can set up subdomain isolation to securely separate user-supplied content from other portions of your GitHub Enterprise Server appliance.
After enabling GitHub Connect, you can allow GitHub Enterprise Cloud members to highlight their work on GitHub Enterprise Server by sending the contribution counts to their GitHub.com profiles.
After enabling GitHub Connect, you can allow search of GitHub.com from your GitHub Enterprise Server instance.
You can decide whether authenticated users can connect to your GitHub Enterprise Server instance with GitHub for mobile.
Open network ports selectively based on the network services you need to expose for administrators, end users, and email support.
You can use the site admin dashboard to manage users, organizations, and repositories in your enterprise directly in GitHub Enterprise Server.
If you run into SSL issues with your appliance, you can take actions to resolve them.
Use a load balancer in front of a single GitHub Enterprise Server appliance or a pair of appliances in a High Availability configuration.
In a high availability configuration, a fully redundant secondary GitHub Enterprise Server appliance is kept in sync with the primary appliance through replication of all major datastores.
GitHub Enterprise Server includes a web-based monitoring dashboard that displays historical data about your GitHub Enterprise Server appliance, such as CPU and storage usage, application and authentication response times, and general system health.
In an active/passive configuration, the replica appliance is a redundant copy of the primary appliance. If the primary appliance fails, high availability mode allows the replica to act as the primary appliance, allowing minimal service disruption.
GitHub Enterprise Server High Availability Configuration (HA) is a primary/secondary failover configuration that provides redundancy while Clustering provides redundancy and scalability by distributing read and write load across multiple nodes.
You can enable automatic update checks so that your GitHub Enterprise Server instance checks for and downloads the latest GitHub Enterprise Server release.
You can failover to a GitHub Enterprise Server replica appliance using the command line for maintenance and testing, or if the primary appliance fails.
You can configure an alert to notify you of system resource issues before they affect your GitHub Enterprise Server appliance's performance.
You can monitor basic system resources on your GitHub Enterprise Server appliance using either the SNMP or collectd statistics collection protocols.
Before upgrading GitHub Enterprise Server, review these recommendations and requirements to plan your upgrade strategy.
Upgrade GitHub Enterprise Server to get the latest features and security updates.
GitHub Support can help you troubleshoot issues that arise on GitHub Enterprise Server.
GitHub Enterprise Server includes most GitHub-authored actions, and has options for enabling access to other actions from GitHub.com and GitHub Marketplace.
Learn about enabling and configuring GitHub Actions on GitHub Enterprise Server for the first time.
Enterprise administrators can manage access to GitHub Actions in an enterprise.
To allow GitHub Actions in your enterprise to use actions from GitHub.com, you can connect your enterprise instance to GitHub Enterprise Cloud.
There are some special considerations for administering GitHub Actions in a high availability configuration.
GitHub Actions data on your external storage provider is not included in regular GitHub Enterprise Server backups, and must be backed up separately.
Learn about using GitHub Actions with GitHub Enterprise Server staging environments.
You can benefit from new features and bug fixes for GitHub Enterprise Server by upgrading your enterprise to a newly released version.
You can configure GitHub Packages for your enterprise by globally enabling or disabling individual package ecosystems on your enterprise, including Docker, RubyGems, npm, Apache Maven, Gradle, or NuGet. Learn about other configuration requirements to support specific package ecosystems.
Configure your custom MinIO storage bucket for use with GitHub Packages.
Pre-receive hooks are scripts that run on the GitHub Enterprise Server appliance that you can use to implement quality checks.
To execute pre-receive hooks, use either the default pre-receive environment, or create a custom environment.
Use pre-receive hook scripts to create requirements for accepting or rejecting a push based on the contents.
Configure how people will use pre-receive hooks within their GitHub Enterprise Server appliance.
A migration is the process of transferring data from a source location (either a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance. Migrations can be used to transfer your data when changing platforms or upgrading hardware on your instance.
You can search the audit log for a wide variety of actions.
Once a team has been created, organization admins can add users from your GitHub Enterprise Server instance to the team and determine which repositories they have access to.
Site administrators can initiate an instance-wide audit of SSH keys.
The audit log dashboard shows site administrators the actions performed by all users and organizations across your enterprise within the past 90 days, including details such as who performed the action, what the action was, and when the action was performed.
Git Large File Storage (Git LFS) is an open source extension to Git that allows you to work with large files the same way as other text files.
You can set visibility for new organization members across your enterprise to public or private. You can also prevent members from changing their visibility from the default.
You can automatically trigger build jobs on a Jenkins server when pushes are made to a repository in your GitHub Enterprise Server instance.
You can prevent people from using Git over SSH for certain or all repositories on your enterprise.
Teams give organizations the ability to create groups of members and control access to repositories. Team members can be granted read, write, or admin permissions to specific repositories.
You can export migration data from an organization on GitHub.com by using the API to select repositories to migrate, then generating a migration archive that you can import into a GitHub Enterprise Server instance.
To change platforms or move from a trial instance to a production instance, you can export migration data from a GitHub Enterprise Server instance by preparing the instance, locking the repositories, and generating a migration archive.
Using the git-import suite of tools, you can import from Subversion, Mercurial and Team Foundation Version Control to Git repositories on GitHub Enterprise Server.
A user account is considered to be dormant if it has not been active for at least a month. You may choose to suspend dormant users to free up user licenses.
Site administrators can view, add, edit, and delete global webhooks to track events for the enterprise.
You can integrate Jira with GitHub Enterprise for project management.
If a member of your organization no longer requires access to certain repositories, you can remove them from the team that allows that access. If a member of your organization no longer requires access to any repositories owned by the organization, you can remove them from the organization.
After generating a migration archive, you can import the data to your target GitHub Enterprise Server instance. You'll be able to review changes for potential conflicts before permanently applying the changes to your target instance.
You can migrate to internal repositories to unify the innersource experience for developers using both GitHub Enterprise Server and GitHub Enterprise Cloud.
You can place a legal hold on a user or organization to ensure that repositories they own cannot be permanently removed from your enterprise.
You can prevent users from creating organizations in your enterprise.
You may need to rebuild contributions data to link existing commits to a user account.
You can require organization members and outside collaborators to enable two-factor authentication for their personal accounts in an organization, making it harder for malicious actors to access an organization's repositories and settings.
If a user leaves or moves to a different part of the company, you should remove or modify their ability to access your GitHub Enterprise Server instance.
We're continually improving our docs. We'd love to hear what we do well.
We're continually improving our docs. We'd love to hear how we can do better.
Let us know what we do well
Let us know what we can do better
Can we contact you if we have more questions?
If you need a reply, please contact support instead.
Thank you! We received your feedback.
All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.
Or, learn how to contribute.