Skip to main content

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

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

Сведения о разработке GitHub AppsGitHub Enterprise Server

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

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

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

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

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

  2. Разработчик приложения предоставляет доступ к параметрам GitHub Enterprise Server манифеста или URL-адреса администратору, который хочет использовать приложение. Один и тот же манифест или параметры 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 ProGitHub 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 ProGitHub 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 .