Note
- Пакеты обновления доступны в enterprise.github.com для поддерживаемых версий. Убедитесь в доступности пакетов обновления, которые вам потребуются для обновления. Если пакет недоступен, посетите Поддержка GitHub Enterprise и обратитесь к нам за помощью.
- Если вы используете кластеризацию GitHub Enterprise Server, см . раздел AUTOTITLE в руководстве по кластеризации GitHub Enterprise Server для конкретных инструкций, уникальных для кластеризации.
- Заметки о выпуске для GitHub Enterprise Server предоставляют полный список новых возможностей для каждой версии GitHub Enterprise Server. Дополнительные сведения см. на страницах, посвященных выпускам.
Рекомендации
- Включите как можно меньше обновлений в процесс обновления. Например, вместо обновления версии GitHub Enterprise 3.14 до 3.15 до 3.16, можно выполнить обновление версии GitHub Enterprise 3.14 до 3.16. Используйте Помощник по обновлению, чтобы найти путь обновления текущей версии.
- Если вы находитесь в нескольких версиях, обновите ваш экземпляр GitHub Enterprise Server насколько это возможно с каждым шагом процесса обновления. Использование самой актуальной версии в каждом обновлении позволяет использовать преимущества повышенной производительности и исправления ошибок. Например, можно выполнить обновление с GitHub Enterprise 2.7 до 2.8 и 2.10, однако для обновления с GitHub Enterprise 2.7 до 2.9 и 2.10 на втором этапе используется более поздняя версия.
- При обновлении используйте последний выпуск исправлений. Перейдите на страницу выпусков GitHub Enterprise Server. Рядом с выпуском, до которого вы обновляетесь, нажмите кнопку Скачать, а затем перейдите на вкладку Обновление.
- Используйте промежуточный экземпляр для проверки шагов обновления. Дополнительные сведения см. в разделе Настройка промежуточного экземпляра.
- При выполнении нескольких обновлений убедитесь, что задачи миграции данных и обновления, выполняемые в фоновом режиме, полностью завершены, прежде чем переходить к следующему обновлению компонентов. Чтобы проверить состояние этих процессов, можно использовать
ghe-migrations
служебные программы иghe-check-background-upgrade-jobs
программы командной строки. Дополнительные сведения см. в разделе Служебные программы командной строки. - Создайте моментальный снимок перед обновлением виртуальной машины. Дополнительные сведения см. в разделе Создание моментального снимка.
- Убедитесь, что у вас есть последняя успешная резервная копия экземпляра. Дополнительные сведения см. в файле README.md GitHub Enterprise Server Backup Utilities.
Требования
- Необходимо выполнить обновление выпуска, версия которого отстает не более, чем на две версии. Например, для обновления до версии GitHub Enterprise 3.16, требуется установленная версия GitHub Enterprise 3.15 или 3.14.
- При обновлении с помощью пакета обновления запланируйте период обслуживания для пользователей GitHub Enterprise Server.
- Вы можете обновить GitHub Enterprise Server до последнего выпуска исправления с помощью горячего исправления.
Для обновления до следующего выпуска исправлений можно использовать горячее исправление, но не выпуск с новыми функциями. Например, можно обновить с версии 2.10.1 до версии 2.10.5, так как они находятся в одной серии признаков, но не с 2.10.9 до 2.11.0, так как они находятся в другой серии признаков.
Горячие патчи не всегда требуют перезагрузки. При установке горячего исправления вы увидите сообщение в терминале, если для завершения обновления потребуется перезагрузка пакетов. Вы можете запланировать эту перезагрузку в удобное время, но мы рекомендуем перезагрузить как можно скорее практически, особенно если есть какие-либо исправления безопасности.
Для выполнения исправлений требуется выполнение конфигурации, которое может привести к краткому периоду ошибок или безответственности для некоторых или всех служб на ваш экземпляр GitHub Enterprise Server. Вам не требуется включить режим обслуживания во время установки hotpatch, но это гарантирует, что пользователи увидят страницу обслуживания вместо ошибок или времени ожидания. См . раздел AUTOTITLE.
- Для горячего исправления может потребоваться время простоя, если затрагиваемые службы (например, ядро, MySQL или Elasticsearch) требуют перезагрузки виртуальной машины или перезапуска службы. Вы получите уведомление о необходимости перезагрузки или перезапуска. Вы можете выполнить перезагрузку или перезапуск позднее.
- Дополнительное корневое хранилище должно быть доступно при обновлении посредством горячего исправления, так как при этом до завершения обновления будет установлено несколько версий определенных служб. По результатам предварительной проверки вы получите уведомление в случае, если у вас недостаточно пространства корневого дискового хранилища.
- При обновлении посредством горячего исправления экземпляр нельзя слишком загружать, так как это может повлиять на процесс горячего исправления.
- В процессе обновления до версии GitHub Enterprise Server 2.17 выполняется миграция журналов аудита из Elasticsearch в MySQL. Эта миграция также увеличивает время и место на диске, необходимое для восстановления моментального снимка. Перед миграцией проверьте число байтов в индексах журнала аудита Elasticsearch с помощью следующей команды:
curl -s http://localhost:9201/audit_log/_stats/store | jq ._all.primaries.store.size_in_bytes
Используйте это число для оценки объема дискового пространства, необходимого для журналов аудита MySQL. Скрипт также отслеживает свободное место на диске в процессе импорта. Отслеживать это число особенно полезно, если свободное место на диске близко к объему дискового пространства, необходимого для миграции.
При обновлении предварительные проверка оценивает, доступны ли минимальные требования к системным ресурсам оборудования, таким как память, ядра ЦП и хранилище корневого диска пользователя и корневого диска. Если предварительные проверка определяют нехватку ресурсов или сбой, вы получите уведомление и обновление прервано.
Следующие шаги
После просмотра этих рекомендаций и требований можно обновить GitHub Enterprise Server. Дополнительные сведения см. в разделе Обзор процесса обновления.