Сведения о промежуточных экземплярах
GitHub рекомендует настроить отдельную среду для тестирования резервных копий, обновлений или изменений конфигурации для ваш экземпляр GitHub Enterprise Server. Эта среда, которую следует изолировать от рабочих систем, называется промежуточной.
Например, для защиты от потери данных можно регулярно проверять резервную копию рабочего экземпляра. Резервную копию рабочих данных можно регулярно восстанавливать в отдельном экземпляре GitHub Enterprise Server в промежуточной среде. На этом промежуточном экземпляре можно также протестировать обновление до последнего выпуска компонента GitHub Enterprise Server.
Tip
Вы можете повторно использовать существующий файл лицензии GitHub Enterprise до тех пор, пока промежуточный экземпляр не используется в рабочей емкости.
Рекомендации для промежуточной среды
Чтобы тщательно протестировать GitHub Enterprise Server и воссоздать среду, аналогичную рабочей среде, рассмотрите внешние системы, взаимодействующие с вашим экземпляром. Например, может потребоваться протестировать в промежуточной среде следующее.
- Проверка подлинности, особенно при использовании внешнего поставщика проверки подлинности, например, SAML
- Интеграция с внешней системой запросов
- Интеграция с сервером непрерывной интеграции
- Внешние скрипты или программное обеспечение, использующие GitHub Enterprise Server APIs
- Внешний SMTP-сервер для уведомлений по электронной почте
Настройка промежуточного экземпляра
Вы можете настроить промежуточный экземпляр с нуля и настроить экземпляр. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Настройка экземпляра GitHub Enterprise Server](/admin/configuration/configuring-your-enterprise)".
Кроме того, можно создать промежуточный экземпляр, которая отражает рабочую конфигурацию, восстанавливая резервную копию рабочего экземпляра в промежуточный экземпляр.
- Резервное копирование рабочего экземпляра.
- Настройте промежуточный экземпляр.
- Настройте GitHub Actions.
- Настройте GitHub Packages.
- Восстановите рабочую резервную копию.
- Просмотрите конфигурацию экземпляра.
- Примените конфигурацию экземпляра.
1. Резервное копирование рабочего экземпляра
Если вы хотите протестировать изменения в экземпляре, содержающем те же данные и конфигурацию, что и рабочий экземпляр, создайте резервную копию данных и конфигурации из рабочего экземпляра с помощью GitHub Enterprise Server Backup Utilities. Дополнительные сведения см. в разделе Настройка резервных копий в экземпляре.
Warning
При использовании GitHub Actions или GitHub Packages в рабочей среде резервная копия будет включать рабочую конфигурацию для внешнего хранилища. Чтобы избежать потенциальной потери данных путем записи в рабочее хранилище из промежуточный экземпляр, необходимо настроить каждую функцию в шагах 3 и 4 перед восстановлением резервной копии.
2. Настройка промежуточный экземпляр
Настройте новый экземпляр для использования в качестве промежуточной среды. Вы можете использовать для подготовки и установки промежуточного экземпляра те же инструкции, что и в случае с рабочим экземпляром. Дополнительные сведения см. в разделе Настройка экземпляра GitHub Enterprise Server.
Если вы планируете восстановить резервную копию рабочего экземпляра, перейдите к следующему шагу. Кроме того, можно настроить экземпляр вручную и пропустить следующие действия.
3. Настройка GitHub Actions
При необходимости, если вы используете GitHub Actions в рабочем экземпляре, настройте функцию в промежуточный экземпляр перед восстановлением рабочей резервной копии. Если вы не используете GitHub Actions, перейдите к разделу "1". Настройте GitHub Packages".
Warning
Если вы не настроите GitHub Actions на промежуточный экземпляр перед восстановлением рабочей резервной копии, промежуточный экземпляр будет использовать внешнее хранилище экземпляра рабочей среды, что может привести к потере данных. Настоятельно рекомендуется использовать другое внешнее хранилище для промежуточный экземпляр. Дополнительные сведения см. в разделе Использование промежуточной среды.
-
Чтобы настроить промежуточный экземпляр использовать внешний поставщик хранилища для GitHub Actions, введите одну из следующих команд.
-
Хранилище BLOB-объектов Azure.
Shell ghe-config secrets.actions.storage.blob-provider "azure"
ghe-config secrets.actions.storage.blob-provider "azure"
-
Amazon S3:
Shell ghe-config secrets.actions.storage.blob-provider "s3"
ghe-config secrets.actions.storage.blob-provider "s3"
-
Google Cloud Storage:
Shell ghe-config secrets.actions.storage.blob-provider "gcs"
ghe-config secrets.actions.storage.blob-provider "gcs"
-
-
Настройте подключение внешнего хранилища, введя следующие команды, заменив значения заполнителей фактическими значениями для подключения.
-
Хранилище BLOB-объектов Azure.
Shell ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
-
Amazon S3:
Shell ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME" ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL" ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID" ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME" ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL" ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID" ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
При необходимости для принудительного адресации в стиле пути для S3 также введите следующую команду.
Shell ghe-config secrets.actions.storage.s3.force-path-style true
ghe-config secrets.actions.storage.s3.force-path-style true
-
Google Cloud Storage:
Shell ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL" ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME" ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID" ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL" ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME" ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID" ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
-
-
Чтобы подготовиться к включению GitHub Actions в промежуточный экземпляр, введите следующую команду.
Shell ghe-config app.actions.enabled true
ghe-config app.actions.enabled true
4. Настройка GitHub Packages
Если вы используете GitHub Packages в рабочем экземпляре, настройте функцию на промежуточный экземпляр перед восстановлением рабочей резервной копии. Если вы не используете GitHub Packages, перейдите к разделу "1". Восстановление рабочей резервной копии".
Warning
Если вы не настроите GitHub Packages на промежуточный экземпляр перед восстановлением рабочей резервной копии, промежуточный экземпляр будет использовать внешнее хранилище экземпляра рабочей среды, что может привести к потере данных. Настоятельно рекомендуется использовать другое внешнее хранилище для промежуточный экземпляр.
-
Просмотрите резервную копию, в промежуточный экземпляр.
- При резервном копировании с помощью GitHub Enterprise Server Backup Utilities 3.5 или более поздней версии резервная копия включает конфигурацию для GitHub Packages. Перейдите к следующему шагу.
- Если вы выполнили резервную копию с помощью GitHub Enterprise Server Backup Utilities 3.4 или более ранней версии, настройте GitHub Packages на промежуточный экземпляр. Дополнительные сведения см. в разделе Начало работы с GitHub Packages для вашего предприятия.
-
Настройте подключение внешнего хранилища, введя следующие команды, заменив значения заполнителей фактическими значениями для подключения.
-
Хранилище BLOB-объектов Azure.
Shell ghe-config secrets.packages.blob-storage-type "azure" ghe-config secrets.packages.azure-container-name "AZURE CONTAINER NAME" ghe-config secrets.packages.azure-connection-string "CONNECTION STRING"
ghe-config secrets.packages.blob-storage-type "azure" ghe-config secrets.packages.azure-container-name "AZURE CONTAINER NAME" ghe-config secrets.packages.azure-connection-string "CONNECTION STRING"
-
Amazon S3:
Shell ghe-config secrets.packages.blob-storage-type "s3" ghe-config secrets.packages.service-url "S3 SERVICE URL" ghe-config secrets.packages.s3-bucket "S3 BUCKET NAME" ghe-config secrets.packages.aws-access-key "S3 ACCESS KEY ID" ghe-config secrets.packages.aws-secret-key "S3 ACCESS SECRET"
ghe-config secrets.packages.blob-storage-type "s3" ghe-config secrets.packages.service-url "S3 SERVICE URL" ghe-config secrets.packages.s3-bucket "S3 BUCKET NAME" ghe-config secrets.packages.aws-access-key "S3 ACCESS KEY ID" ghe-config secrets.packages.aws-secret-key "S3 ACCESS SECRET"
-
-
Чтобы подготовиться к включению GitHub Packages в промежуточный экземпляр, введите следующую команду.
Shell ghe-config app.packages.enabled true
ghe-config app.packages.enabled true
5. Восстановление рабочей резервной копии
ghe-restore
Используйте команду для восстановления остальных данных из резервной копии. Дополнительные сведения см. в разделе Настройка резервных копий в экземпляре.
Если промежуточный экземпляр уже настроен и вы хотите перезаписать параметры, сертификаты и данные лицензии, добавьте -c
этот параметр в команду. Дополнительные сведения о параметре см. в разделе "Использование команд резервного копирования и восстановления" в документации по GitHub Enterprise Server Backup Utilities.
6. Проверка конфигурации экземпляра
Чтобы получить доступ к промежуточный экземпляр с тем же именем узла, обновите файл локальных узлов, чтобы разрешить имя узла промежуточный экземпляр по IP-адресу, изменив /etc/hosts
файл в macOS или Linux или C:\Windows\system32\drivers\etc
файл в Windows.
Note
Ваш промежуточный экземпляр должен быть доступен из того же имени узла, что и рабочий экземпляр. Изменение имени узла для ваш экземпляр GitHub Enterprise Server не поддерживается. Дополнительные сведения см. в разделе Настройка имени узла для экземпляра.
Затем просмотрите конфигурацию промежуточный экземпляр в Консоль управления. Дополнительные сведения см. в разделе Администратор создание экземпляра из пользовательского веб-интерфейса.
Warning
Если вы настроили GitHub Actions или GitHub Packages для промежуточный экземпляр, чтобы избежать перезаписи рабочих данных, убедитесь, что конфигурация внешнего хранилища в Консоль управления не соответствует рабочему экземпляру.
7. Применение конфигурации экземпляра
Чтобы применить конфигурацию из Консоль управления, нажмите кнопку "Сохранить параметры".
Возвращение промежуточный экземпляр обратно в интернет
Возможно, вы хотите отключить промежуточный экземпляр, чтобы сэкономить затраты и включить его обратно при необходимости.
Экземпляр может оставаться в автономном режиме для 60 дней по состоянию на последний выпуск исправлений этой версии, увеличился с 7 дней.
При возврате экземпляра в режиме автономного времени GitHub Enterprise Server успешно создает экземпляр. Если экземпляр находится в автономном режиме дольше допустимого периода, GitHub Enterprise Server не удалось создать экземпляр, а сообщение об ошибке с текстом server has been offline for more than the configured server_rejoin_age_max
может появиться в системных журналах. См. раздел "Сведения о системных журналах".
Если экземпляр завис в состоянии ошибки, можно выполнить эти команды для восстановления.
sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply