Skip to content

Commit 9ab659d

Browse files
Merge pull request #53494 from Albertyang0/NEW-github-enterprise-server-developer-fundamentals
NEW Module: GitHub Enterprise Server Fundamentals for Developers
2 parents f45fc68 + d0cb1a4 commit 9ab659d

14 files changed

Lines changed: 552 additions & 0 deletions
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.github-enterprise-server-introduction
3+
title: What is GitHub Enterprise Server?
4+
metadata:
5+
title: What is GitHub Enterprise Server?
6+
description: This content is a part of the GitHub Enterprise Server Fundamentals for Developers module.
7+
author: camihmerhar
8+
ms.author: camhernandez
9+
ms.date: 02/16/2026
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/1-github-enterprise-server-introduction.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.github-enterprise-server-cloud-differences
3+
title: GitHub Enterprise Server vs GitHub Enterprise Cloud
4+
metadata:
5+
title: GitHub Enterprise Server vs GitHub Enterprise Cloud
6+
description: This content is a part of the GitHub Enterprise Server Fundamentals for Developers module.
7+
author: camihmerhar
8+
ms.author: camhernandez
9+
ms.date: 02/16/2026
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/2-github-enterprise-server-cloud-differences.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.release-cadence-version-management
3+
title: Release cadence and version awareness
4+
metadata:
5+
title: Release Cadence and Version Awareness
6+
description: This content is a part of the GitHub Enterprise Server Fundamentals for Developers module.
7+
author: camihmerhar
8+
ms.author: camhernandez
9+
ms.date: 02/16/2026
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/3-release-cadence-version-management.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.github-enterprise-server-developer-experience
3+
title: Developer experience on GHES
4+
metadata:
5+
title: Developer Experience on GHES
6+
description: This content is a part of the GitHub Enterprise Server Fundamentals for Developers module.
7+
author: camihmerhar
8+
ms.author: camhernandez
9+
ms.date: 02/16/2026
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/4-github-enterprise-server-developer-experience.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.github-connect-hybrid-scenarios
3+
title: GitHub Connect and hybrid scenarios
4+
metadata:
5+
title: GitHub Connect and Hybrid Scenarios
6+
description: This content is a part of the GitHub Enterprise Server Fundamentals for Developers module.
7+
author: camihmerhar
8+
ms.author: camhernandez
9+
ms.date: 02/16/2026
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/5-github-connect-hybrid-scenarios.md)]
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.knowledge-check
3+
title: Knowledge check
4+
metadata:
5+
unitType: knowledge-check
6+
title: Knowledge Check
7+
description: Knowledge check for the GitHub Enterprise Server Fundamentals for Developers module.
8+
ms.date: 02/16/2026
9+
author: camihmerhar
10+
ms.author: camhernandez
11+
ms.topic: unit
12+
durationInMinutes: 5
13+
content: |
14+
quiz:
15+
questions:
16+
- content: "What is a defining characteristic of GitHub Enterprise Server (GHES)?"
17+
choices:
18+
- content: "It's a fully managed Software as a Service (SaaS) platform hosted by GitHub."
19+
isCorrect: false
20+
explanation: "Incorrect. GitHub Enterprise Server isn't an SaaS platform hosted by GitHub."
21+
- content: "It automatically updates with new features as soon as they are released."
22+
isCorrect: false
23+
explanation: "Incorrect. GitHub Enterprise Server follows a scheduled release cycle and doesn't update automatically with every new feature."
24+
- content: "It's self-hosted and managed by the customer."
25+
isCorrect: true
26+
explanation: "Correct. GitHub Enterprise Server is deployed on infrastructure owned and managed by the customer, providing full control over data and operations."
27+
- content: "It only supports public repositories."
28+
isCorrect: false
29+
explanation: "Incorrect. GitHub Enterprise Server supports private repositories and enterprise collaboration workflows."
30+
- content: "Why do new features often appear later on GitHub Enterprise Server than on GitHub.com?"
31+
choices:
32+
- content: "GHES is missing core GitHub functionality."
33+
isCorrect: false
34+
explanation: "Incorrect. GitHub Enterprise Server includes core functionality but follows a different release cadence."
35+
- content: "GHES follows a quarterly release cadence."
36+
isCorrect: true
37+
explanation: "Correct. GitHub Enterprise Server uses a structured quarterly release cycle to ensure stability for self-managed environments."
38+
- content: "GHES doesn't support modern development workflows."
39+
isCorrect: false
40+
explanation: "Incorrect. GitHub Enterprise Server supports modern development workflows."
41+
- content: "GHES updates are controlled by individual developers."
42+
isCorrect: false
43+
explanation: "Incorrect. Updates are managed through official enterprise releases."
44+
- content: "Which GitHub feature isn't supported on GitHub Enterprise Server?"
45+
choices:
46+
- content: "Pull requests."
47+
isCorrect: false
48+
explanation: "Incorrect. Pull requests are supported on GitHub Enterprise Server."
49+
- content: "GitHub Actions."
50+
isCorrect: false
51+
explanation: "Incorrect. GitHub Actions are supported on GitHub Enterprise Server."
52+
- content: "GitHub Codespaces."
53+
isCorrect: true
54+
explanation: "Correct. GitHub Codespaces is a cloud-only feature and isn't available on GitHub Enterprise Server."
55+
- content: "Issues."
56+
isCorrect: false
57+
explanation: "Incorrect. Issues are supported on GitHub Enterprise Server."
58+
- content: "You followed a GitHub.com tutorial that uses a feature you can't find in your GHES instance. What is the most likely next step?"
59+
choices:
60+
- content: "Assume the feature is broken and retry later."
61+
isCorrect: false
62+
explanation: "Incorrect. Feature availability depends on the deployed GHES version and configuration."
63+
- content: "Confirm your organization's GHES version and check the version-specific documentation and release notes."
64+
isCorrect: true
65+
explanation: "Correct. Checking the GHES version and version-specific documentation helps confirm feature availability and behavior."
66+
- content: "Create the feature manually using repository settings."
67+
isCorrect: false
68+
explanation: "Incorrect. Features cannot be manually enabled if they are not included in the deployed version."
69+
- content: "Switch to a public repository so the feature becomes available."
70+
isCorrect: false
71+
explanation: "Incorrect. Repository visibility doesn't affect feature availability in GHES."
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.github-enterprise-server-developer-fundamentals.summary
3+
title: Summary
4+
metadata:
5+
unitType: summary
6+
title: Summary
7+
description: This content is a part of the GitHub Enterprise Server Fundamentals for Developers module.
8+
ms.date: 02/16/2026
9+
author: camihmerhar
10+
ms.author: camhernandez
11+
ms.topic: unit
12+
durationInMinutes: 1
13+
content: |
14+
[!include[](includes/7-summary.md)]
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
GitHub Enterprise Server is a self-hosted deployment of GitHub, designed for organizations that require full control over their source code, metadata, and development workflows. Unlike GitHub.com, which is delivered as a Software-as-a-Service (SaaS) offering, GHES runs entirely within infrastructure owned or controlled by the customer.
2+
3+
This infrastructure may be on-premises, in a private cloud, or hosted with a supported hypervisor. Regardless of where it runs, GHES places security, isolation, and control at the center of the platform.
4+
5+
### In this unit, you'll learn
6+
7+
- What GHES is and how it differs architecturally from GitHub.com
8+
9+
- Why enterprises choose self-hosted GitHub deployments
10+
11+
- What "self-managed" means for developers and platform teams
12+
13+
- How GHES fits into regulated and security-sensitive environments
14+
15+
### Core characteristics of GHES
16+
17+
GitHub Enterprise Server provides:
18+
19+
- Complete data isolation
20+
21+
All repositories, issues, pull requests, and metadata live entirely within your organization's environment.
22+
23+
- Self-managed operations
24+
25+
Your organization controls installation, upgrades, backups, monitoring, and disaster recovery.
26+
27+
- Enterprise-grade security controls
28+
29+
Features such as subdomain isolation, outbound web proxies, and network segmentation are built in.
30+
31+
- Near feature parity with GitHub Enterprise Cloud
32+
33+
Most GitHub features are available, though often delayed due to release cadence.
34+
35+
> [!IMPORTANT]
36+
> GHES does not automatically receive updates. Each upgrade is a deliberate operational event, typically planned and executed by a platform team.
37+
38+
### Why organizations use GHES
39+
40+
Organizations typically choose GHES when they need:
41+
42+
- Data residency guarantees
43+
44+
Source code and metadata must remain within specific geographic or network boundaries.
45+
46+
- Regulatory compliance
47+
48+
Industries such as finance, healthcare, defense, and government often require self-hosted systems.
49+
50+
- Custom security posture
51+
52+
Network-level controls, outbound proxies, and strict access segmentation.
53+
54+
- Operational sovereignty
55+
56+
Full control over uptime, maintenance windows, and system configuration.
57+
58+
Developer takeaway: GHES prioritizes control and predictability over speed of feature delivery.
59+
60+
### What "Self-Managed" means for developers and platform teams
61+
62+
In a self-managed GitHub Enterprise Server environment, responsibility for operating GitHub shifts from GitHub to the customer.
63+
64+
- Platform team ownership
65+
66+
Platform teams manage installation, upgrades, security patching, backups, monitoring, and availability of the GHES instance.
67+
68+
- Developer dependencies on platform teams
69+
70+
Developers rely on internal teams for enabling features, configuring integrations, and resolving infrastructure-related issues.
71+
72+
- Infrastructure-driven limitations
73+
74+
Some capabilities-such as GitHub-hosted runners or cloud-native services-are unavailable, requiring developers to adapt workflows.
75+
76+
- Operational awareness
77+
78+
Developers must be aware of system constraints, maintenance windows, and version differences that affect day-to-day work.
79+
80+
### How GHES fits into regulated and security-sensitive environments
81+
82+
GHES is designed for organizations with strict control, compliance, and security requirements.
83+
84+
- Data isolation
85+
86+
All code, metadata, and logs remain within the organization's network or approved infrastructure.
87+
88+
- Regulatory alignment
89+
90+
GHES supports compliance requirements common in regulated industries such as finance, healthcare, government, and defense.
91+
92+
- Controlled network access
93+
94+
Organizations can enforce outbound proxies, restricted connectivity, and network segmentation.
95+
96+
- Auditability and traceability
97+
98+
All user activity is recorded locally, supporting internal audits and compliance reporting.
99+
100+
Key takeaway: GHES provides a GitHub experience that feels familiar, but it is operated and secured like an enterprise platform-updates, availability, and features are managed by the organization, not delivered continuously by GitHub.
101+
102+
Now that you understand what GHES is and why organizations choose it, the next unit compares GHES with GitHub Enterprise Cloud so you can recognize which behaviors and assumptions change between platforms.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
GitHub offers two enterprise-grade offerings: GitHub Enterprise Cloud (GHEC) and GitHub Enterprise Server (GHES). While they share many core concepts, they differ significantly in how they are operated, updated, and secured.
2+
3+
Understanding these differences helps developers avoid incorrect assumptions when switching between platforms.
4+
5+
### In this unit, you'll learn
6+
7+
- How GHES and GHEC differ in architecture and operations
8+
9+
- What features may behave differently or arrive later on GHES
10+
11+
- How privacy and visibility are handled across offerings
12+
13+
- What Enterprise Managed Users (EMUs) change in cloud environments
14+
15+
| **Feature** | **GitHub Enterprise Cloud (GHEC)** | **GitHub Enterprise Server (GHES)** |
16+
| --------------------- | ---------------------------------------------------------- | --------------------------------------------------- |
17+
| Hosting model | SaaS offering hosted by GitHub | Self-hosted on customer infrastructure |
18+
| Feature delivery | Continuous feature delivery | Quarterly release cadence |
19+
| Operational overhead | Lower operational overhead | Infrastructure and upgrades managed by the customer |
20+
| Repository visibility | Public and private repositories supported | All repositories are private by default |
21+
| Privacy and isolation | Privacy controlled at enterprise, org, team, or repo level | Full network and security isolation |
22+
23+
Both offerings are highly secure. However, customers with strict data residency requirements typically choose GHES when they require self-hosting and network isolation, or when enterprise policy limits the use of public cloud services.
24+
25+
### Enterprise managed users (Cloud Only)
26+
27+
When using GitHub Enterprise Cloud with Enterprise Managed Users (EMUs):
28+
29+
- Users are provisioned and managed via the customer's identity provider
30+
31+
- Users cannot move code from private repositories to personal accounts
32+
33+
- All activity is centrally logged in GitHub audit logs
34+
35+
It is important to distinguish between **GitHub Enterprise Cloud (GHEC)** and **GitHub Enterprise Cloud with Enterprise Managed Users (GHEC-EMU)**.
36+
37+
GHEC-EMU does not allow interaction with GitHub.com personal accounts or any public repositories. Users are fully managed within the enterprise boundary, and code cannot be transferred outside of that managed environment.
38+
39+
Standard GHEC, by contrast, allows interaction with GitHub.com, including collaboration with personal accounts and public repositories, subject to enterprise policy.
40+
41+
GHES achieves similar control by default because all users and data exist only within the GHES instance, and access is governed by the organization's chosen identity and network controls.
42+
43+
### Feature availability considerations
44+
45+
Although GHES aims for near parity with GitHub Enterprise Cloud, some differences remain:
46+
47+
- New features typically appear on GHES one or more quarters later
48+
49+
- Some cloud-native features may never arrive on GHES
50+
51+
- Certain integrations require outbound internet access
52+
53+
From a developer perspective, the key is to treat feature availability as environment-specific. If you learned a workflow on GitHub.com, verify it is supported and enabled on your GHES instance before relying on it.
54+
55+
Key takeaway: GHES and GHEC use similar GitHub concepts, but they differ in who operates the platform, how quickly features arrive, and which cloud-native capabilities are available.
56+
57+
Now that you can compare the platforms at a high level, the next unit focuses on GHES release cadence and version awareness-one of the most important practical differences for developers.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
One of the most important concepts for GHES developers is version awareness. Unlike GitHub.com, which updates continuously, GHES follows a structured release model.
2+
3+
### In this unit, you'll learn
4+
5+
- How GHES releases are scheduled and delivered
6+
7+
- Why feature timing matters for developers
8+
9+
- How to find version-specific documentation
10+
11+
- How to avoid building workflows that depend on unavailable features
12+
13+
### GHES release model
14+
15+
GitHub Enterprise Server follows a quarterly release cadence (for example, versions 3.17, 3.18, and 3.19), rather than continuous delivery.
16+
17+
Each release typically includes:
18+
19+
- New features that have already proven stable on GitHub.com and are ready for self-hosted environments
20+
21+
- Security patches and performance improvements required for enterprise-grade reliability and compliance
22+
23+
- Deprecations and behavior changes that may affect APIs, workflows, or integrations
24+
25+
Because upgrades are customer-managed:
26+
27+
- Some organizations intentionally remain on older versions to meet validation, compliance, or change-control requirements
28+
29+
- Feature availability can vary significantly between enterprises, even when they all use GHES
30+
31+
### Version-specific documentation
32+
33+
GitHub Enterprise Server documentation is versioned, and developers must always reference the documentation that matches their deployed version.
34+
35+
For example, GHES 3.19 documentation is available at:
36+
37+
- https://docs.github.com/en/[email protected]
38+
39+
GitHub.com documentation often describes features that do not yet exist in your GHES environment.
40+
41+
Using the wrong documentation can lead to:
42+
43+
- Incorrect assumptions about available features
44+
45+
- Broken workflows or unsupported configurations
46+
47+
- Confusion during troubleshooting or implementation
48+
49+
### Developer impact of version lag
50+
51+
Features commonly affected by GHES version differences include:
52+
53+
- GitHub Actions enhancements, such as new workflow syntax or job features
54+
55+
- Security scanning improvements, including updates to CodeQL or secret scanning behavior
56+
57+
- API changes and preview features, which may be unavailable or behave differently
58+
59+
- User interface and workflow refinements that improve usability on GitHub.com first
60+
61+
Practical guidance for developers:
62+
63+
- Always confirm your organization's current GHES version before designing workflows or automation
64+
65+
- Review the release notes for your version to understand what is supported and what is not
66+
67+
- Plan solutions that work within the constraints of your deployed environment, not the latest cloud features
68+
69+
Practical advice: Before designing workflows or automations, confirm your GHES version and check release notes.
70+
71+
Key takeaway: GHES version awareness is a core developer skill-features, APIs, and behavior depend on what your organization has deployed, not what is available on GitHub.com today.
72+
73+
Now that you understand how release cadence affects feature timing, the next unit looks at how these differences show up in day-to-day developer experience, including automation, integrations, and tooling constraints.

0 commit comments

Comments
 (0)