Сведения о разработке 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 для использования в этом экземпляре.
-
Разработчик приложения создает параметры манифеста или URL-адреса. Дополнительные сведения см. в разделе [AUTOTITLE и Регистрация приложения GitHub из манифеста](/apps/sharing-github-apps/registering-a-github-app-using-url-parameters).
-
Разработчик приложения предоставляет доступ к параметрам GitHub Enterprise Server манифеста или URL-адреса администратору, который хочет использовать приложение. Один и тот же манифест или параметры URL-адреса могут использоваться для нескольких GitHub Enterprise Server экземпляров.
-
Владелец организации в экземпляре использует параметры манифеста или URL-адреса для регистрации GitHub App.
-
Организация устанавливает зарегистрированную 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:/ | https:/ |
https:/ | https:/ |
https:/ | https:/ |
https:/ | https:/ |
Код приложения должен учитывать различия функций
Новые конечные точки 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 .