Updating your GitHub Enterprise Server (GHES) is essential for accessing new features, security patches, and performance improvements. There are two primary methods for updating your GHES instance, depending on the type of release you are applying: hotpatches and upgrade packages.
Understanding GHES Update Methods
The method you choose depends largely on whether you are applying a minor patch or a more significant feature release.
1. Using a Hotpatch
Hotpatches are designed for applying patch releases. These are typically smaller updates that address bugs or security vulnerabilities without requiring a full server restart or significant downtime.
- Use Case: Exclusively for patch releases.
- Maintenance Mode: Not required. Applying a hotpatch generally does not interrupt user access, making it ideal for minimizing downtime.
- As per the reference: "To upgrade to a patch release, you can use a hotpatch."
- As per the reference: "If you are using a hotpatch, maintenance mode is not required."
2. Using an Upgrade Package
Upgrade packages are used for applying both patch releases and feature releases. Feature releases introduce new capabilities and often involve more significant changes to the server's underlying software.
- Use Case: Required for feature releases and can also be used for patch releases.
- Maintenance Mode: Required. Applying an upgrade package necessitates a maintenance window during which end users will not be able to access GitHub Enterprise Server. You must schedule this window in advance.
- As per the reference: "To upgrade to a patch release, you can use... an upgrade package. To upgrade to a feature release, you must use an upgrade package."
- As per the reference: "If you use an upgrade package, schedule a maintenance window for GitHub Enterprise Server end users."
Choosing the Right Update Method
Here’s a quick summary of when to use each method based on the type of release and the need for downtime:
Update Method | Release Type | Maintenance Mode Required |
---|---|---|
Hotpatch | Patch Release | No |
Upgrade Package | Patch Release | Yes (Schedule Maintenance Window) |
Upgrade Package | Feature Release | Yes (Schedule Maintenance Window) |
In summary, for minimal disruption when applying minor fixes, use a hotpatch. For all other updates, especially major feature releases, an upgrade package is necessary and requires scheduled downtime. Always consult the specific release notes for detailed instructions provided by GitHub.