Skip to main content

Как сделать ваше приложение GitHub доступным для GitHub Enterprise Server

Чтобы экземпляры GitHub Enterprise Server использовали GitHub App, необходимо выполнить некоторые дополнительные действия.

О разработке GitHub Apps для GitHub Enterprise Server

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

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

Если доступ к данным GitHub Enterprise Server важен, рассмотрите ли настраиваемое действие для GitHub Actions в соответствии с вашими потребностями. Общедоступные действия доступны для экземпляров GitHub Enterprise Server с GitHub Connect. Дополнительные сведения см. в разделе Включение автоматического доступа к GitHub.com действиям с помощью GitHub Connect.

Каждый экземпляр данных GitHub Enterprise Server должен зарегистрировать собственные данные GitHub App

Организации, принадлежащие экземпляру GitHub Enterprise Server, не могут установить GitHub Apps зарегистрированных на GitHub.com или на другом экземпляре GitHub Enterprise Server . Вместо этого они должны зарегистрировать и установить собственные данные GitHub App для использования в этом экземпляре.

  1. Разработчик приложения создает параметры манифеста или URL-адреса. Дополнительные сведения см. в разделе [AUTOTITLE и Регистрация приложения GitHub из манифеста](/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-using-url-parameters).

  2. Разработчик приложения предоставляет параметры манифеста или URL-адреса администратору GitHub Enterprise Server, который хочет использовать приложение. Один и тот же манифест или параметры URL-адреса можно совместно использовать с несколькими экземплярами данных GitHub Enterprise Server .

  3. Владелец организации в экземпляре использует параметры манифеста или URL-адреса для регистрации GitHub App.

  4. Организация устанавливает данные GitHub App, которые они зарегистрировали.

    При необходимости, если организация сделала GitHub App общедоступными, другие организации в экземпляре также могут установить GitHub App. Нет способа установить GitHub App на весь экземпляр только в организациях в экземпляре.

Код приложения должен иметь доступ к учетным данным GitHub App для экземпляра.

Код приложения потребует учетных данных GitHub App, зарегистрированных экземпляром GitHub Enterprise Server. Кроме того, для него потребуется имя узла экземпляра. У вас есть два варианта: получение учетных данных и имя узла из экземпляра или GitHub Enterprise Server узла клиента и управление локальной версией приложения.

Получение учетных данных из экземпляра GitHub Enterprise Server

Экземпляр может поделиться своими учетными данными GitHub App и именем узла с разработчиком приложения. Администратор сайта должен сделать это только в том случае, если они доверяют разработчику приложения. Затем код приложения может использовать соответствующие учетные данные в зависимости от того, какие действия он выполняет. Разработчик приложений должен принять меры предосторожности для использования соответствующего набора учетных данных и не утечки данных.

Преимущества.

  • Разработчик приложений управляет инфраструктурой, на которой работает приложение.
  • Разработчик приложений имеет больше контроля над обновлениями приложений.
  • Разработчик приложений может иметь больше сведений о производительности приложения.

Недостатки.

  • Разработчик приложения должен принять меры предосторожности, чтобы избежать утечки данных из экземпляра.
  • Администратор сайта может потребоваться открыть исключения брандмауэра для приложения, чтобы получить доступ к экземпляру, и они могут неохотно это сделать.

У вас есть GitHub Enterprise Server и управление локальной версией приложения

Разработчик приложений может предоставить локальную версию своего приложения. Затем администратор сайта может разместить приложение в соответствии с инструкциями по настройке и установке приложения.

Метод, с помощью которого создается локальная версия приложения и предоставляется общий доступ, зависит от технологии, используемой приложением.

Преимущества.

  • Экземпляр остается более безопасным, так как они не обмениваются учетными данными приложения.
  • Разработчику приложений не нужно беспокоиться об утечке данных из экземпляра.

Недостатки.

  • Разработчик приложений полагается на администратора сайта, чтобы предоставить инфраструктуру для приложения и правильно настроить вещи.
  • Выпуск обновлений в коде приложения может быть более сложным.
  • Разработчик приложений может потерять видимость производительности приложения.

Код приложения должен использовать правильные URL-адреса

GitHub Enterprise Server использует разные URL-адреса, отличные от GitHub Free, GitHub Pro, GitHub Team, а также GitHub Enterprise Cloud. Код приложения следует обновить, чтобы использовать соответствующий URL-адрес в зависимости от того, работает ли он с экземпляром GitHub Enterprise Server. Замените HOSTNAME именем узла экземпляра GitHub Enterprise Server.

GitHub Free
GitHub Pro
GitHub Team
GitHub Enterprise Cloud
GitHub Enterprise Server
https://api.github.comhttps://HOSTNAME/api/v3
https://api.github.com/graphqlhttps://HOSTNAME/api/v3/graphql
https://github.com/login/oauth/authorizehttps://HOSTNAME/login/oauth/authorize
https://github.com/login/oauth/access_tokenhttps://HOSTNAME/login/oauth/access_token

Код приложения должен учитывать различия функций

Новые конечные точки REST API, объекты GraphQL и веб-перехватчики выпускаются в GitHub Enterprise Server позже, чем GitHub Free, GitHub Pro, GitHub Teamи GitHub Enterprise Cloud. Кроме того, существует несколько версий GitHub Enterprise Server, а более старые версии могут иметь разные конечные точки REST API, объекты GraphQL и веб-перехватчики.

Поэтому код приложения должен учитывать эти различия. Ответы API и полезные данные веб-перехватчика включают x-github-enterprise-version заголовок для полезных данных GitHub Enterprise Server для определения используемой версии.

Каждый экземпляр данных GitHub Enterprise Server может настроить ограничения скорости

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