Skip to main content

Enterprise Server 3.22 в настоящее время доступен в качестве кандидата на выпуск.

Включение GitHub Actions with Azure Blob storage

Вы можете включить GitHub Actions и GitHub Enterprise Server использовать хранилище Azure Blob для хранения данных, сгенерированных при запуске рабочих процессов.

Кто может использовать эту функцию?

Site administrators can enable GitHub Actions and configure enterprise settings.

Сведения о внешнем хранилище для GitHub Actions

GitHub Actions использует внешнее хранилище BLOB-объектов для хранения данных, созданных рабочими процессами. Сохраненные данные включают журналы рабочих процессов, кэши и артефакты сборки, отправленные пользователем. Для получения дополнительной информации см. Начало работы с GitHub Actions for GitHub Enterprise Server.

Существует два варианта настройки GitHub Enterprise Server для подключения к внешнему поставщику хранилища:

  • OpenID Connect (OIDC)
  • Традиционная проверка подлинности на основе учетных данных с помощью секретов

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

Совет

Если GitHub Actions он уже настроен и вам нужно переместить его данные в новый аккаунт хранения или регион в Хранилище BLOB-объектов Azure, см. Миграция внешнего хранилища GitHub Actions.

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

Перед активацией GitHub Actionsубедитесь, что вы выполнили следующие шаги:

  • Создайте свой аккаунт хранения Azure для хранения данных рабочего процесса. GitHub Actions Хранит данные в виде блочных блоков, поддерживаются два типа аккаунтов хранения:
    • Учетная запись хранения общего назначения (также известная как general-purpose v1 или general-purpose v2) с использованием стандартного уровня производительности.

      Предупреждение

Использование уровня производительности premium с учетной записью хранения общего назначения не поддерживается. Стандартный уровень производительности должен быть выбран при создании учетной записи хранения, и его нельзя изменить позже.

  • Учетная запись хранения BlockBlobStorage, которая использует уровень производительности премиум.

Для получения дополнительной информации о типах Azure аккаунтах хранения и уровнях производительности см. документацию Azure.

  • Ознакомьтесь с требованиями к GitHub Actionsоборудованию. Дополнительные сведения см. в разделе Начало работы с GitHub Actions for GitHub Enterprise Server.

  • Протокол TLS должен быть настроен для GitHub Enterprise Serverдомена. Дополнительные сведения см. в разделе Настройка TLS.

    Примечание.

    Настоятельно рекомендуется настроить TLS в GitHub Enterprise Server с сертификатом, подписанным доверенным центром авторизации. Хотя самозаверяющий сертификат можно использовать, необходимо дополнительно настроить локальные средства выполнения тестов, и не рекомендуется использовать сертификат для рабочих сред.

  • Если у вас есть http-прокси-сервер , настроенный на GitHub:

  • Необходимо добавить .localhostи 127.0.0.1``::1 в список исключений **** прокси-сервера HTTP (в этом порядке).

  • Если расположение внешнего хранилища не является маршрутизируемым, необходимо также добавить URL-адрес внешнего хранилища в список исключений.

Дополнительные сведения об изменении параметров прокси-сервера см. в разделе Настройка сервера веб-прокси исходящего трафика.

  • Если вы используете OIDC для подключения к поставщику хранилища, необходимо предоставить следующие URL-адреса службы маркеров OIDC на экземпляр GitHub Enterprise Server в общедоступном Интернете:

    https://HOSTNAME/_services/token/.well-known/openid-configuration
    https://HOSTNAME/_services/token/.well-known/jwks
    

    Это гарантирует, что поставщик хранилища может связаться с экземпляр GitHub Enterprise Server для проверки подлинности.

Активация GitHub Actions хранилища Azure Blob с помощью OIDC (рекомендую)

Чтобы настроить GitHub Enterprise Server использование OIDC с учётной записью хранения Azure, сначала необходимо зарегистрировать приложение Microsoft Entra ID (ранее известное как Azure AD) с учётными данными OIDC, затем настроить учетную запись хранения и, наконец, GitHub Enterprise Server настроить доступ к контейнеру с помощью Entra ID.

1. Регистрация приложения идентификатора записи

  1. Войдите в административный центр Microsoft Entra.

  2. Зарегистрируйте новое приложение в идентификаторе Entra. Дополнительные сведения см. в кратком руководстве. Регистрация приложения с помощью платформа удостоверений Майкрософт в Microsoft Learn.

  3. В приложении Идентификатора записи в разделе "Essentials" запишите значения для идентификатора приложения (клиента) и "Идентификатор каталога (клиента"). Эти значения используются позже.

    Снимок экрана: страница "Обзор" в идентификаторе записи. Первые четыре элемента в разделе "Essentials" выделены оранжевым контуром.

  4. В приложении идентификатора записи в разделе "Управление" выберите вкладку "Сертификаты и секреты", перейдите на вкладку "Федеративные учетные данные", а затем нажмите кнопку "Добавить учетные данные".

    Снимок экрана: страница управления сертификатами и секретами. Выделена ссылка на страницу, вкладка "Федеративные учетные данные" и кнопка "Добавить учетные данные".

  5. Введите следующие сведения для учетных данных:

    1. В разделе "Сценарий федеративных учетных данных" выберите другой издатель.

    2. Для «Эмитент» введите https://HOSTNAME/_services/token, где HOSTNAME — публичное имя хоста для экземпляр GitHub Enterprise Server. Например: https://my-ghes-host.example.com/_services/token.

    3. Для «Subject identifier» введите публичное имя хоста для экземпляр GitHub Enterprise Server. Например: my-ghes-host.example.com.

      Примечание.

      Идентификатор субъекта должен содержать только имя хозяина экземпляр GitHub Enterprise Server, и не должен включать протокол.

    4. В поле "Имя" введите имя для учетных данных.

    5. Нажмите кнопку Добавить.

2. Настройка учетной записи хранения

  1. В портал Microsoft Azure перейдите к вашему аккаунту хранилища.

  2. Нажмите контроль доступа (IAM), затем выберите Add и выберите Add role assignment.

  3. Для роли выберите "Владелец данных BLOB-объектов хранилища", а затем нажмите кнопку "Далее".

  4. Для участников щелкните "Выбрать участников **", а затем найдите **и выберите имя созданного ранее приложения Идентификатора записи. Щелкните Выбрать.

  5. Нажмите кнопку "Рецензирование" и " Назначить", просмотрите назначение ролей, а затем нажмите кнопку "Проверить и назначить еще раз".

  6. В меню слева в разделе "Параметры" щелкните "Конечные точки".

  7. В разделе "Служба BLOB-объектов" запишите значение для службы BLOB-объектов, в частности суффикс конечной точки BLOB-объектов. Это значение после https://<storageaccountname>.blob. Обычно это <c0 / >, но может варьироваться в зависимости от Azure региона или типа аккаунта.

    Например, если URL-адрес службы BLOB-объектов имеет значение, суффикс https://my-storage-account.blob.core.windows.net``core.windows.netконечной точки BLOB-объектов.

    Обратите внимание на имя учетной записи хранения и суффикс конечной точки BLOB-объектов, так как эти значения используются позже.

3. Настройка GitHub Enterprise Server подключения к Entra ID с использованием OIDC

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Действия".

  5. В разделе "GitHub Actions" выберите "Включить действия GitHub".

  6. В разделе "Артефакт и хранилище журналов" рядом с пунктом "Хранилище BLOB-объектов Azure" нажмите кнопку "Настройка".

  7. В разделе "Проверка подлинности" выберите OpenID Connect (OIDC) и введите значения для хранилища, которое вы указали в предыдущих процедурах:

    • Идентификатор клиента entra ID
    • Идентификатор клиента entra ID
    • Имя учетной записи хранения Azure
    • Azure blob endpoint suffix1. Нажмите кнопку "Проверить параметры хранилища"**, **чтобы проверить параметры хранилища.

    Если есть ошибки, проверяющие параметры хранилища, проверьте параметры с поставщиком хранилища и повторите попытку.

  8. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Примечание.

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  9. Подождите завершения запуска конфигурации.

Активация GitHub Actions хранилища с помощью Azure Blob с помощью строка подключения

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Действия".

  5. В разделе "GitHub Actions" выберите "Включить действия GitHub".

  6. В разделе "Артефакт и хранилище журналов" рядом с пунктом "Хранилище BLOB-объектов Azure" нажмите кнопку "Настройка".

  7. В разделе «Аутентификацию» выберите Credentials-based и введите строка подключения вашего Azure хранилища. Для получения дополнительной информации о получении строка подключения для вашего аккаунта хранения смотрите документацию Azure.

  8. Нажмите кнопку "Проверить параметры хранилища"**, **чтобы проверить параметры хранилища.

    Если есть ошибки, проверяющие параметры хранилища, проверьте параметры с поставщиком хранилища и повторите попытку.

  9. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Примечание.

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  10. Подождите завершения запуска конфигурации.

Следующие шаги

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