Skip to main content

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

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

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

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

Необходимые компоненты

  • Необходим файл лицензии GitHub Enterprise. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Настройка пробной версии GitHub Enterprise Server](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise)".
  • Необходима учетная запись Azure, которая может подготавливать к работе новые компьютеры. Дополнительные сведения см. на веб-сайте Майкрософт.
  • Большинство действий, необходимых для запуска виртуальной машины (VM), также можно выполнить с помощью портала Azure. Однако для начальной настройки рекомендуется установить интерфейс командной строки (CLI) Azure. Ниже приведены примеры использования Azure CLI 2.0. Дополнительные сведения см. в руководстве по установке Azure CLI 2.0.

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

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

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

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

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

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

Если вы планируете включить Container registry для пользователей экземпляра, потребуется больше ресурсов. Дополнительные сведения об этих требованиях см. в разделе "Начало работы с GitHub Packages для вашего предприятия".

Дополнительные сведения о настройке ресурсов для существующего экземпляра см. в разделе[ "AUTOTITLE" и "Увеличение емкости хранилища](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources)".

Хранилище

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

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

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

Доступное пространство в корневой файловой системе будет составлять 50 % от общего размера диска. Можно изменить размер корневого диска экземпляра, создав новый экземпляр или используя существующий. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Обзор системы](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity)".

ЦП и память

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

Все виртуальные машины, подготовленные для ваш экземпляр GitHub Enterprise Server, должны использовать архитектуру ЦП x86-64. Другие архитектуры не поддерживаются, например Aarch64 или arm64.

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

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

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

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

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

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

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

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

Для устройства 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": "GitHub:' | 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
    

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

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

    Передайте параметры для имени виртуальной машины (например, 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

Чтобы настроить экземпляр, необходимо подтвердить состояние экземпляра, отправить файл лицензии, задать пароль root Консоль управления пароль, настроить параметры экземпляра и перезапустить экземпляр.

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

  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 виртуальной машины Linux.

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

  3. В Консоль управления настройте и сохраните нужные параметры. Дополнительные сведения см. в разделе "Настройка GitHub Enterprise".

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

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

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

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

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

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