Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise будет прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Установка сервера GitHub Enterprise в Azure

Чтобы установить GitHub Enterprise Server в Azure, необходимо выполнить развертывание в оптимизированном для памяти экземпляре, поддерживающем хранилище "Премиум".

Вы можете развернуть GitHub Enterprise Server в глобальной среде Azure или Azure для государственных организаций.

Предварительные требования

  • Необходим файл лицензии GitHub Enterprise. Дополнительные сведения см. в разделах Настройка пробной версии GitHub Enterprise Server и Сведения о лицензиях для GitHub Enterprise.
  • Необходима учетная запись Azure, которая может подготавливать к работе новые компьютеры. Дополнительные сведения см. на веб-сайте Майкрософт.
  • Большинство действий, необходимых для запуска виртуальной машины (VM), также можно выполнить с помощью портала Azure. Однако для начальной настройки рекомендуется установить интерфейс командной строки (CLI) Azure. Ниже приведены примеры использования Azure CLI 2.0. Дополнительные сведения см. в руководстве Azure Установка Azure CLI 2.0.

Рекомендации по оборудованию

Минимальные требования

Мы рекомендуем использовать разные конфигурации оборудования в зависимости от количества пользовательских лицензий для экземпляр GitHub Enterprise Server. Если подготовить больше ресурсов, чем минимальные требования, экземпляр будет работать и масштабировать лучше.

Пользовательские лицензииЧисло виртуальных ЦППамятьКорневое хранилищеПодключенное хранилище (data)
Пробная версия, демонстрационная версия или 10 облегченных пользователей432 ГБ200 ГБ150 ГБ
от 10 до 3000848 ГБ200 Мб300 ГБ
от 3000 до 50001264 ГБ200 ГБ500 ГБ
от 5000 до 80001696 ГБ200 ГБ750 ГБ
от 8000 до 10000 и выше20160 ГБ200 ГБ1000 ГБ

Если вы планируете включить GitHub Actions для пользователей экземпляра, требуются дополнительные ресурсы.

Число виртуальных ЦППамятьМаксимальный параллелизм
864 ГБ300 заданий
16128 ГБ700 заданий
32160 ГБ1500 заданий
64256 ГБ2500 заданий
96384 ГБ4500 заданий
128550 ГБ5000 заданий

Дополнительные сведения об этих требованиях см. в разделе Начало работы с GitHub Actions для GitHub Enterprise Server.

Дополнительные сведения о настройке ресурсов для существующего экземпляра см. в разделах Увеличение емкости хранилища и Увеличение ресурсов ЦП или памяти.

Память

Рекомендуется использовать высокопроизводительный SSD с высокой скоростью операций ввода-вывода в секунду (IOPS) и низкой задержкой для GitHub Enterprise Server. Рабочие нагрузки интенсивно используют ввод-вывод. Если используется гипервизор без операционной системы, рекомендуется напрямую подключить диск или использовать диск из сети хранения данных (SAN).

Для экземпляра требуется постоянный диск данных, отделенный от корневого диска. Подробнее см. в статье Обзор системы.

Чтобы настроить GitHub Actions, необходимо предоставить внешнее хранилище BLOB-объектов. Дополнительные сведения см. в разделе Начало работы с GitHub Actions для GitHub Enterprise Server.

Доступное пространство в корневой файловой системе будет составлять 50 % от общего размера диска. Можно изменить размер корневого диска экземпляра, создав новый экземпляр или используя существующий. Дополнительные сведения см. в разделе Обзор системы и Увеличение емкости хранилища.

ЦП и память

Ресурсы ЦП и памяти, необходимые GitHub Enterprise Server, зависят от уровней действий пользователей, автоматизации и интеграции.

Если планируется включить GitHub Actions для пользователей экземпляра GitHub Enterprise Server, может потребоваться подготовка дополнительных ресурсов ЦП и памяти для экземпляра. Дополнительные сведения см. в разделе Начало работы с GitHub Actions для GitHub Enterprise Server.

При увеличении объема ресурсов ЦП рекомендуется добавить не менее 6,5 ГБ памяти для каждого виртуального ЦП (до 16 виртуальных ЦП), подготовленных для экземпляра. Если используется более 16 виртуальных ЦП, вам не нужно добавлять 6,5 ГБ памяти для каждого виртуального ЦП, но необходимо отслеживать экземпляр, чтобы обеспечить достаточный объем памяти.

Предупреждение. Пользователям рекомендуется настраивать события веб-перехватчика для уведомления внешних систем о действиях на GitHub Enterprise Server. Автоматические проверки изменений или опрос будут негативно влиять на производительность и масштабируемость экземпляра. Дополнительные сведения см. в статье Сведения о веб-перехватчиках.

Дополнительные сведения о мониторинге емкости и производительности GitHub Enterprise Server см. в разделе Мониторинг устройства.

Ресурсы ЦП или памяти экземпляра можно увеличить. Дополнительные сведения см. в разделе Увеличение объема ресурсов ЦП или памяти.

Определение типа виртуальной машины

Перед запуском экземпляр GitHub Enterprise Server в Azure необходимо определить тип компьютера, который лучше всего соответствует потребностям вашей организации. Дополнительные сведения об оптимизированных для операций в памяти компьютерах см. в разделе Размеры виртуальных машин, оптимизированных для операций в памяти в документации Microsoft Azure. Минимальные требования к ресурсам для GitHub Enterprise Server см. в разделе Минимальные требования.

Примечание. Вы всегда можете увеличить масштаб ЦП или памяти, изменив размер экземпляра. Тем не менее так как для изменения размера ЦП или памяти требуется время простоя для пользователей, рекомендуется использовать ресурсы избыточной подготовки для компенсации масштабирования.

Для устройства GitHub Enterprise Server требуется диск данных хранилища класса Premium, который поддерживается на любой виртуальной машине Azure, поддерживающей хранилище класса Premium. Типы виртуальных машин Azure с суффиксом s поддерживают хранилище класса Premium. Дополнительные сведения см. в разделах Типы дисков, доступные в Azure. и Хранилище Azure класса Premium: проектирование для высокой производительности в документации Azure.

GitHub рекомендует оптимизированную для памяти виртуальную машину для GitHub Enterprise Server. Дополнительные сведения см. в разделе Размеры виртуальных машин, оптимизированных для памяти документации Azure.

GitHub Enterprise Server поддерживает любой регион, поддерживающий ваш тип виртуальной машины. Дополнительные сведения о поддерживаемых регионах для каждой виртуальной машины см. в разделе Доступные продукты по регионам.

Создание виртуальной машины GitHub Enterprise Server

Чтобы создать экземпляр, необходимо импортировать образ GitHub Enterprise Server на виртуальную машину и подключить дополнительный том хранилища для данных экземпляра. Дополнительные сведения см. в разделе Рекомендации в отношении оборудования.

  1. Найдите самый последний образ устройства GitHub Enterprise Server. Дополнительные сведения о команде vm image list см. в разделе az vm image list документации Майкрософт.

    $ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
  2. Создайте виртуальную машину с помощью найденного образа устройства. Дополнительные сведения см. в разделе az vm create документации Майкрософт.

    Передайте параметры для имени виртуальной машины, группы ресурсов, размера виртуальной машины, имени предпочтительного региона Azure, имени виртуальной машины образа устройства, которое было указано на предыдущем шаге, и номера SKU хранилища для хранилища премиум-класса. Дополнительные сведения о группах ресурсов см. в разделе Группы ресурсов в документации Майкрософт.

    $ az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
  3. Настройте параметры безопасности на виртуальной машине, чтобы открыть необходимые порты. Дополнительные сведения см. в разделе az vm open-port документации Майкрософт. В таблице ниже приведено описание каждого порта, чтобы определить, какие порты необходимо открыть.

    $ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER

    Эта таблица определяет, для чего используется каждый порт.

    ПортСлужбаОписание
    22SSHДоступ к Git по протоколу SSH. Клонирование, получение и отправка операций в поддерживаемые общедоступные и частные репозитории.
    25SMTPПоддержка SMTP с шифрованием (STARTTLS).
    80HTTPДоступ к веб-приложениям. Все запросы перенаправляются на HTTPS-порт при включении SSL.
    122SSHДоступ к оболочке экземпляра. Порт SSH по умолчанию (22) предназначен для сетевого трафика Git+SSH приложения.
    161/UDPSNMPТребуется для работы протокола мониторинга сети.
    443HTTPSДоступ к веб-приложению и Git по протоколу HTTPS.
    1194/UDPVPNБезопасный туннель сети репликации в конфигурации высокого уровня доступности.
    8080HTTPВеб-сайт на основе обычного текста Консоль управления. Не требуется, если только SSL не отключен вручную.
    8443HTTPSБезопасный веб-доступ Консоль управления. Требуется для базовой установки и настройки.
    9418GitПростой порт протокола Git. Клонирование и получение операций только в общедоступные репозитории. Взаимодействие по сети без шифрования Если в вашем экземпляре включен частный режим, то открытие этого порта требуется только в том случае, если вы также включили анонимный доступ для чтения Git. Дополнительные сведения см. в разделе Применение политик управления репозиториями в организации.
  4. Создайте и подключите к виртуальной машине новый незашифрованный диск данных, настроив размер в соответствии с количеством лицензий пользователя. Дополнительные сведения см. в разделе az vm disk attach документации Майкрософт.

    Передайте параметры для имени виртуальной машины (например, ghe-acme-corp), группы ресурсов, номера SKU премиум-хранилища, размера диска (например, 200) и имени полученного виртуального жесткого диска.

    $ az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite

    Примечание: Чтобы непроизводственные экземпляры имели достаточную пропускную способность ввода-вывода, рекомендуемый минимальный размер диска составляет 150 ГиБ с включенным кэшем для чтения и записи (--caching ReadWrite).

Настройка виртуальной машины GitHub Enterprise Server

  1. Перед настройкой виртуальной машины необходимо дождаться ее перехода в состояние ReadyRole. Проверьте состояние виртуальной машины с помощью команды vm list. Дополнительные сведения см. в разделе az vm list документации Майкрософт.

    $ az vm list -d -g RESOURCE_GROUP -o table
    > Name    ResourceGroup    PowerState    PublicIps     Fqdns    Location    Zones
    > ------  ---------------  ------------  ------------  -------  ----------  -------
    > VM_NAME RESOURCE_GROUP   VM running    40.76.79.202           eastus
    

    Примечание. Azure не создает запись FQDNS для виртуальной машины автоматически. Дополнительные сведения см. в руководстве Azure о том, как создать полное доменное имя на портале Azure для виртуальной машины Linux.

  2. Скопируйте общедоступное DNS-имя виртуальной машины и вставьте его в адресную строку веб-браузера. 2. В командной строке отправьте файл лицензии и задайте пароль консоли управления. Дополнительные сведения см. в разделе Управление лицензией для GitHub Enterprise. 3. В Консоль управления настройте и сохраните нужные параметры. Дополнительные сведения см. в разделе Настройка устройства GitHub Enterprise Server.

  3. Экземпляр будет перезапущен автоматически. 1. Нажмите Перейти к экземпляру.

Функции расширения Azure

GitHub Enterprise Server не поддерживает установку функций расширения Azure. Образ GitHub Enterprise Server поставляется с настроенным waagent пакетом, который поддерживает только базовые функции управления виртуальными машинами и блокирует расширенные функции управления виртуальными машинами.

Чтобы избежать нестабильной работы системы экземпляра GitHub Enterprise Server, walinuxagent служба намеренно запускается в GitHub Enterprise Server в ограниченном режиме, что явно запрещает агенту устанавливать другие агенты. Функции управления виртуальными машинами, которые зависят от дополнительных агентов и расширений, помимо того, который поставляется с образом GitHub Enterprise Server, такие как расширение агента мониторинга для Azure Insights или Azure Backups, не поддерживаются.

Так как GitHub Enterprise Server работает под управлением настроенной операционной системы Linux только с необходимыми приложениями и службами, установка или обновление пакетов операционной системы вручную приведет к перезаписи этих настроек и может привести к непредвиденному поведению. Подробнее см. в статье Обзор системы.

Дополнительные материалы