Claude Code с GitHub Enterprise Server
Подключите Claude Code к вашему самостоятельно размещённому экземпляру GitHub Enterprise Server для облачных сессий, проверки кода и маркетплейсов плагинов.
Поддержка GitHub Enterprise Server доступна для планов Team и Enterprise.
Поддержка GitHub Enterprise Server (GHES) позволяет вашей организации использовать Claude Code с репозиториями, размещёнными на вашем самоуправляемом экземпляре GitHub вместо github.com. После того как администратор подключит ваш экземпляр GHES, разработчики смогут запускать облачные сессии и получать автоматизированные проверки кода без какой-либо конфигурации для каждого репозитория. Маркетплейсы плагинов, размещённые на вашем экземпляре, также поддерживаются; требования к учётным данным различаются в зависимости от поверхности, как описано в Plugin marketplaces on GHES.
Для репозиториев на github.com см. Claude Code в облаке и Проверка кода. Чтобы запустить Claude в вашей собственной инфраструктуре CI, см. GitHub Actions.
Что работает с GitHub Enterprise Server
В таблице ниже показано, какие функции Claude Code поддерживают GHES и какие различия есть по сравнению с поведением github.com.
| Функция | Поддержка GHES | Примечания |
|---|---|---|
| Cloud sessions | ✅ Поддерживается | Владелец подключает экземпляр GHES один раз; разработчики используют claude --cloud или claude.ai/code как обычно |
| Проверка кода | ✅ Поддерживается | Те же автоматизированные проверки PR, что и на github.com |
| Claude Security | ✅ Поддерживается | Доступно в открытой бета-версии для планов Enterprise на claude.ai/security |
| Teleport sessions | ✅ Поддерживается | Перемещайте сессии между облаком и терминалом с помощью --teleport |
| Маркетплейсы плагинов | ✅ Поддерживается | Требования к учётным данным различаются в зависимости от поверхности. См. Маркетплейсы плагинов на GHES |
| Метрики вклада | ✅ Поддерживается | Доставляются через webhooks на панель аналитики |
| GitHub Actions | ✅ Поддерживается | Требует ручной настройки workflow; /install-github-app доступен только для github.com |
| GitHub MCP server | ❌ Не поддерживается | GitHub MCP server не работает с экземплярами GHES |
Настройка администратором
Администратор подключает ваш экземпляр GHES к Claude Code один раз. После этого разработчики в вашей организации смогут использовать репозитории GHES без какой-либо дополнительной конфигурации. Вам нужна роль Owner или Primary Owner в вашей организации Claude и разрешение на создание GitHub Apps на вашем экземпляре GHES.
Управляемая настройка генерирует манифест GitHub App и перенаправляет вас на ваш экземпляр GHES для создания приложения в один клик. Если ваша среда блокирует поток перенаправления, доступна альтернативная ручная настройка.
Откройте параметры администратора Claude Code
Перейдите на claude.ai/admin-settings/claude-code и найдите раздел GitHub Enterprise Server.
Начните управляемую настройку
Нажмите Connect. Введите отображаемое имя длиной до 20 символов для подключения и имя хоста вашего GHES, например github.example.com. Если ваш экземпляр GHES использует самоподписанный сертификат или центр сертификации частного центра, вставьте сертификат CA в дополнительное поле.
Создайте GitHub App
Нажмите Continue to GitHub Enterprise. Ваш браузер перенаправляется на ваш экземпляр GHES с предварительно заполненным манифестом приложения. Проверьте конфигурацию и нажмите Create GitHub App. GHES перенаправляет вас обратно в Claude с автоматически сохранёнными учётными данными приложения.
Установите приложение на ваши репозитории
На странице GitHub App на вашем экземпляре GHES установите приложение на репозитории или организации, к которым вы хотите предоставить Claude доступ. Вы можете начать с подмножества и добавить больше позже.
Включите функции
Вернитесь на claude.ai/admin-settings/claude-code и включите Проверку кода, Claude Security и метрики вклада для ваших репозиториев GHES, используя ту же конфигурацию, что и для github.com.
Разрешения GitHub App
Манифест настраивает GitHub App с разрешениями и событиями webhook ниже, которые вместе охватывают веб-сессии, проверку кода, Claude Security, маркетплейсы плагинов и метрики вклада:
| Разрешение | Доступ | Используется для |
|---|---|---|
| Contents | Чтение и запись | Клонирование репозиториев и отправка веток |
| Pull requests | Чтение и запись | Создание PR и публикация комментариев проверки |
| Issues | Чтение и запись | Ответ на упоминания в проблемах |
| Checks | Чтение и запись | Публикация проверочных запусков Code Review |
| Actions | Чтение | Чтение статуса CI для автоисправления |
| Commit statuses | Чтение | Чтение статуса CI от поставщиков, которые сообщают статусы коммитов вместо запусков проверок |
| Repository hooks | Чтение и запись | Создание webhook на репозитории маркетплейса плагинов, когда Sync automatically включена для маркетплейса в Organization settings > Plugins |
| Metadata | Чтение | Требуется GitHub для всех приложений |
| Organization members | Чтение | Соответствие Claude GitHub App на github.com, которое использует это для проверки роли организации подключающегося пользователя при связывании установки |
Приложение подписывается на события pull_request, issue_comment, pull_request_review_comment, pull_request_review, check_run и status.
GitHub применяет манифест только при создании приложения, поэтому приложение, созданное из более ранней версии манифеста, сохраняет разрешения и события, с которыми оно было создано. Если вашему приложению не хватает каких-либо разрешений или событий выше, добавьте их в параметры приложения на вашем экземпляре GHES. GitHub затем попросит владельца каждой установки одобрить новые разрешения, и установка сохранит свои старые разрешения до тех пор, пока они это не сделают.
Ручная настройка
Если управляемый поток перенаправления заблокирован конфигурацией вашей сети, нажмите Add manually вместо Connect. Создайте GitHub App на вашем экземпляре GHES с разрешениями и событиями выше, затем введите учётные данные подключения в форму: отображаемое имя, имя хоста вашего GHES и дополнительный порт, а также ID приложения, client ID, client secret, webhook secret и private key приложения. Форма также принимает дополнительный пользовательский сертификат CA и имена хостов реплик для чтения.
Claude генерирует URL webhook приложения при сохранении подключения. После нажатия Add configuration откройте меню More options подключения, выберите Copy webhook URL и вставьте URL в параметры webhook приложения на вашем экземпляре GHES. Используйте тот же webhook secret, который вы ввели в форму.
Требования к сети
Для сессий, размещённых на Anthropic, ваш экземпляр GHES должен быть доступен из инфраструктуры Anthropic, чтобы Claude мог клонировать репозитории и публиковать комментарии проверки. Если ваш экземпляр GHES находится за брандмауэром, добавьте в список разрешений IP-адреса исходящего трафика Anthropic. Сессии в самостоятельно размещённой среде клонируют изнутри вашей сети, если только запускающий не согласится на прокси Git Anthropic, который получает данные со стороны Anthropic и требует той же доступности; коннектор SCM охватывает размещённые потоки перед сессией, такие как средство выбора репозитория, для хоста GHES, который маршрутизируется только внутри.
Рабочий процесс разработчика
После того как ваш администратор подключит экземпляр GHES, конфигурация на стороне разработчика не требуется. Claude Code автоматически обнаруживает имя хоста GHES из git remote в вашем рабочем каталоге.
Клонируйте репозиторий из вашего экземпляра GHES как обычно, заменив github.example.com и путь репозитория на имя хоста GHES и репозиторий:
git clone git@github.example.com:platform/api-service.git
cd api-service
Затем запустите облачную сессию. Claude обнаруживает хост GHES из вашего git remote и маршрутизирует сессию через настроенный экземпляр вашей организации:
claude --cloud "Add retry logic to the payment webhook handler"
Сессия клонирует ваш репозиторий из GHES и отправляет изменения обратно в ветку. Отслеживайте прогресс на claude.ai/code. См. Use Claude Code in the cloud для полного рабочего процесса облачной сессии, включая проверку diff, автоисправление и процедуры.
Телепортируйте сессии в ваш терминал
Перенесите облачную сессию в ваш локальный терминал с помощью claude --teleport. Teleport проверяет, что вы находитесь в checkout того же репозитория GHES, прежде чем получить ветку и загрузить историю сессии. См. требования teleport для получения подробной информации.
Рынки плагинов на GHES
Размещайте рынки плагинов на вашем экземпляре GHES для распределения внутренних инструментов по всей организации. Структура рынка идентична рынкам, размещённым на github.com, но установка работает по-разному в зависимости от того, где вы добавляете рынок, и учётные данные различаются на разных поверхностях:
| Поверхность | Как работает установка | Что нужно каждому пользователю |
|---|---|---|
| Claude Code CLI и desktop | Claude Code клонирует репозиторий рынка, используя существующие учётные данные git машины | Доступ Git к вашему хосту GHES с их машины |
Управляемые параметры (extraKnownMarketplaces) |
Claude Code регистрирует запись и клонирует репозиторий, используя существующие учётные данные git машины | Доступ Git к вашему хосту GHES с их машины |
| Параметры плагина организации claude.ai | Владелец выбирает экземпляр GHES в качестве источника; серверная часть Anthropic получает и синхронизирует репозиторий, используя GitHub App из настройки администратора | Ничего на пользователя после добавления. Владельцу, добавляющему его, нужна собственная учётная запись GitHub Enterprise, подключённая в качестве проверки доступа, и GitHub App должно быть установлено на репозиторий рынка |
| Параметры пользователя claude.ai | Серверная часть Anthropic получает репозиторий, используя подключение GitHub Enterprise отправляющего пользователя | Собственная учётная запись GitHub Enterprise, подключённая к Claude |
| Cloud sessions | Cloud sessions клонируют рынки внутри песочницы сеанса. Песочница может достичь вашего экземпляра GHES только когда репозиторий сеанса находится на том же экземпляре, и его учётные данные git ограничены репозиториями сеанса | Ненадёжно для рынков, размещённых на GHES: другой хост, чем репозиторий сеанса, недостижим, и даже установки на одном экземпляре могут не пройти. Используйте вместо этого CLI, управляемые параметры или claude.ai |
Подключения GitHub Enterprise на claude.ai являются пользовательскими, когда рынок добавляется из параметров пользователя. Настройка администратора подключает ваш экземпляр GHES к вашей организации, но она не подключает отдельные учётные записи пользователей: каждый пользователь, который добавляет рынок GHES из своих собственных параметров, должен сначала подключить собственную учётную запись GitHub Enterprise, и подключение одного пользователя, включая подключение Владельца, не охватывает никого другого. Рынки, добавленные Владельцем в параметры плагина организации, не налагают это требование на пользователей, потому что текущие получения используют GitHub App организации. Владельцу, добавляющему рынок, всё ещё нужна собственная учётная запись GitHub Enterprise, подключённая во время добавления.
Добавить рынок GHES
Сокращение owner/repo всегда разрешается в github.com. Для рынков, размещённых на GHES, используйте полный URL git, заменив github.example.com и путь репозитория на свои. Рекомендуются URL HTTPS:
/plugin marketplace add https://github.example.com/platform/claude-plugins.git
URL SSH работают, если машина уже доверяет вашему хосту GHES:
/plugin marketplace add git@github.example.com:platform/claude-plugins.git
Claude Code запускает git неинтерактивно и отклоняет SSH-подключения к хостам, которые отсутствуют в файле known_hosts машины. URL HTTPS с помощником учётных данных git избегает требования known_hosts.
Полное руководство по созданию рынков см. в разделе Создание и распределение рынка плагинов.
Предварительная регистрация рынков GHES с управляемыми параметрами
Параметр extraKnownMarketplaces предварительно регистрирует рынок, чтобы разработчики получили его без ручной настройки. Он работает из любого файла параметров, включая .claude/settings.json репозитория; управляемые параметры доставляют его по всей организации:
{
"extraKnownMarketplaces": {
"internal-tools": {
"source": {
"source": "git",
"url": "https://github.example.com/platform/claude-plugins.git"
}
}
}
}
Claude Code устанавливает эти рынки локально: он регистрирует каждую запись и клонирует репозиторий с существующими учётными данными git машины. Этот путь не проходит через claude.ai, поэтому подключение GitHub Enterprise для каждого пользователя не требуется. Для успешного развёртывания:
- Используйте полный URL git. Сокращение
owner/repoвсегда разрешается в github.com и не может ссылаться на хост GHES. - Предпочитайте URL HTTPS. SSH-клоны не работают на машинах, которые ещё не доверяют ключу хоста GHES. URL HTTPS с помощником учётных данных git вашей организации работает на любой машине с настроенными учётными данными.
- Подтвердите, что каждая машина может клонировать с вашего хоста GHES. Если машине не хватает учётных данных, рынок регистрируется, но никогда не устанавливается, и его плагины сообщают об отсутствии вместо запроса учётных данных.
- Подтвердите, что параметр достигает каждой машины. Файл управляемых параметров вступает в силу только на машинах, на которые он развёрнут, например через вашу систему управления устройствами. Расположение файлов см. в разделе Развёртывание управляемых параметров.
Разрешить рынки GHES в управляемых параметрах
Если ваша организация использует управляемые параметры для ограничения того, какие рынки разработчики могут добавлять, используйте тип источника hostPattern для разрешения всех рынков с вашего экземпляра GHES без перечисления каждого репозитория. Расположение файлов на каждой платформе см. в разделе Механизмы доставки. Добавьте JSON в файл managed-settings.json или эквивалентную политику MDM:
{
"strictKnownMarketplaces": [
{
"source": "hostPattern",
"hostPattern": "^github\\.example\\.com$"
}
]
}
Полную схему см. в справочнике параметров strictKnownMarketplaces и extraKnownMarketplaces.
Ограничения
Несколько функций работают по-другому на GHES, чем на github.com. Таблица функций суммирует поддержку; в этом разделе рассматриваются обходные пути.
- Команда
/install-github-app: следуйте потоку настройки администратором на claude.ai вместо этого. Если вы также хотите workflows GitHub Actions на GHES, адаптируйте пример workflow вручную. - GitHub MCP server: используйте вместо этого CLI
gh, настроенный для вашего хоста GHES. Запуститеgh auth login --hostname github.example.comдля аутентификации, затем Claude сможет использовать командыghв сессиях.
Troubleshooting
Cloud session fails to clone repository
Если claude --cloud завершается с ошибкой клонирования, убедитесь, что владелец завершил настройку для вашего экземпляра GHES и что GitHub App установлено на репозитории, над которым вы работаете. Попросите владельца, который подключил экземпляр, подтвердить, что имя хоста, зарегистрированное в параметрах Claude, совпадает с именем хоста в вашем git remote.
Добавление маркетплейса не удаётся с ошибкой политики
Если /plugin marketplace add заблокирован для вашего URL-адреса GHES, ваша организация ограничила источники маркетплейса. Попросите администратора добавить запись hostPattern для имени хоста GHES в управляемые параметры.
Добавление маркетплейса на claude.ai не удаётся с ошибкой доступа GitHub
Если добавление маркетплейса GHES из параметров пользователя завершается с общей ошибкой типа "Marketplace couldn't be added", сначала проверьте подключение GitHub Enterprise. Это происходит, когда ваша собственная учётная запись GitHub Enterprise не подключена к Claude, даже если экземпляр GHES вашей организации настроен и другие пользователи подключены. Диалог не указывает на процесс подключения GitHub Enterprise, а опция "Connect to GitHub" на вкладке Browse выполняет вход в github.com, что не предоставляет доступ к репозиториям GHES.
Чтобы подключить вашу учётную запись GitHub Enterprise: средство выбора репозитория на claude.ai/code предлагает опцию подключения для каждого настроенного экземпляра GHES, и владельцы также могут подключиться из раздела GitHub Enterprise параметров администратора Claude Code. Затем добавьте маркетплейс снова. Кроме того, попросите владельца добавить маркетплейс в параметры плагина организации, что устраняет требование подключения для каждого пользователя.
На других поверхностях claude.ai ошибка "Repository not found. If it's private, GitHub access is required" на маркетплейсе GHES обычно указывает на то же отсутствующее подключение. Подключите вашу учётную запись GitHub Enterprise через один из указанных выше путей, затем повторите попытку.
Экземпляр GHES недоступен
Если проверки или облачные сессии истекают по времени, ваш экземпляр GHES может быть недоступен из инфраструктуры Anthropic. Убедитесь, что ваш брандмауэр разрешает входящие соединения с IP-адресов Anthropic. Сессии в самостоятельно размещённой среде достигают GHES изнутри вашей сети, поэтому для них проверьте собственный сетевой путь runner и SCM connector вместо этого.
Запуск сессии не удаётся с `Unable to get organization UUID`
Облачные сессии требуют организацию Team или Enterprise. Выполните вход с помощью /login, используя учётную запись вашей организации. Если вы аутентифицируетесь с помощью ключа API, облачные сессии завершаются ошибкой раньше с сообщением, просящим вас запустить /login.
Связанные ресурсы
Эти страницы охватывают функции, упомянутые в этом руководстве, более подробно:
- Claude Code в веб-интерфейсе: запуск сессий Claude Code на облачной инфраструктуре
- Проверка кода: автоматизированные проверки PR
- Маркетплейсы плагинов: создание и распределение каталогов плагинов
- Аналитика: отслеживание использования и метрик вклада
- Управляемые параметры: конфигурация политики на уровне организации
- Конфигурация сети: требования к брандмауэру и списку разрешений IP