رفتن به محتوا

Claude Code با GitHub Enterprise Server

پشتیبانیِ GitHub Enterprise Server (GHES) به سازمانت اجازه می‌دهد Claude Code را با مخزن‌های میزبانی‌شده روی نمونه‌ی GitHubِ خودمدیریت‌شده‌ات به‌جای github.com استفاده کند. وقتی یک مدیر نمونه‌ی GHESت را وصل کرد، توسعه‌دهنده‌ها می‌توانند نشست‌های وب اجرا کنند، بازبینیِ کدِ خودکار بگیرند و pluginها را از marketplaceهای داخلی نصب کنند، بدونِ هیچ پیکربندیِ هر-مخزن.

برای مخزن‌های روی github.com، Claude Code on the web و Code Review را ببین. برای اجرای Claude در زیرساختِ CIِ خودت، GitHub Actions را ببین.

جدولِ زیر نشان می‌دهد کدام قابلیت‌های Claude Code از GHES پشتیبانی می‌کنند و هر تفاوتی با رفتارِ github.com.

قابلیتپشتیبانیِ GHESنکات
Claude Code on the web✅ پشتیبانی‌شدهمدیر نمونه‌ی GHES را یک بار وصل می‌کند؛ توسعه‌دهنده‌ها طبقِ معمول از claude --remote یا claude.ai/code استفاده می‌کنند
Code Review✅ پشتیبانی‌شدههمان بازبینی‌های خودکارِ PR مثلِ github.com
Claude Security✅ پشتیبانی‌شدهدر public beta برای پلن‌های Enterprise در claude.ai/security در دسترس است
نشست‌های Teleport✅ پشتیبانی‌شدهجابه‌جاییِ نشست‌ها بین وب و ترمینال با --teleport
marketplaceهای Plugin✅ پشتیبانی‌شدهبه‌جای خلاصه‌نویسیِ owner/repo از URLهای کاملِ git استفاده کن
متریک‌های مشارکت✅ پشتیبانی‌شدهاز طریقِ webhookها به داشبوردِ analytics تحویل داده می‌شود
GitHub Actions✅ پشتیبانی‌شدهبه راه‌اندازیِ دستیِ workflow نیاز دارد؛ /install-github-app فقط github.com است
سرورِ GitHub MCP❌ پشتیبانی‌نشدهسرورِ GitHub MCP با نمونه‌های GHES کار نمی‌کند

یک مدیر نمونه‌ی GHESت را یک بار به Claude Code وصل می‌کند. پس از آن، توسعه‌دهنده‌های سازمانت می‌توانند بدونِ هیچ پیکربندیِ اضافی از مخزن‌های GHES استفاده کنند. به دسترسیِ مدیر روی سازمانِ Claudeت و مجوزِ ساختِ GitHub App روی نمونه‌ی GHESت نیاز داری.

راه‌اندازیِ راهنمایی‌شده یک manifestِ GitHub App تولید می‌کند و تو را به نمونه‌ی GHESت هدایت می‌کند تا با یک کلیک app را بسازی. اگر محیطت جریانِ هدایت را مسدود می‌کند، یک راه‌اندازیِ دستیِ جایگزین در دسترس است.

تنظیماتِ مدیرِ Claude Code را باز کن

به claude.ai/admin-settings/claude-code برو و بخشِ GitHub Enterprise Server را بیاب.

راه‌اندازیِ راهنمایی‌شده را شروع کن

روی Connect کلیک کن. یک نامِ نمایشی برای اتصال و hostnameِ GHESت را وارد کن، برای مثال github.example.com. اگر نمونه‌ی GHESت از یک گواهی‌نامه‌ی خودامضا یا مرجعِ گواهیِ خصوصی استفاده می‌کند، گواهیِ CA را در فیلدِ اختیاری بچسبان.

GitHub App را بساز

روی Continue to GitHub Enterprise کلیک کن. مرورگرت به نمونه‌ی GHESت با یک manifestِ از-پیش-پرشده‌ی app هدایت می‌شود. پیکربندی را بازبینی کن و روی Create GitHub App کلیک کن. GHES تو را با اعتبارنامه‌های app که خودکار ذخیره شده‌اند به Claude برمی‌گرداند.

app را روی مخزن‌هایت نصب کن

از صفحه‌ی GitHub App روی نمونه‌ی GHESت، app را روی مخزن‌ها یا سازمان‌هایی که می‌خواهی Claude به آن‌ها دسترسی داشته باشد نصب کن. می‌توانی با یک زیرمجموعه شروع کنی و بعداً بیشتر اضافه کنی.

قابلیت‌ها را فعال کن

به claude.ai/admin-settings/claude-code برگرد و Code Review، Claude Security و متریک‌های مشارکت را برای مخزن‌های GHESت با همان پیکربندیِ github.com فعال کن.

این manifest، GitHub App را با مجوزها و رویدادهای webhook که Claude در سراسرِ نشست‌های وب، Code Review، Claude Security و متریک‌های مشارکت نیاز دارد پیکربندی می‌کند:

مجوزدسترسیاستفاده برای
Contentsخواندن و نوشتنکلون کردنِ مخزن‌ها و push کردنِ شاخه‌ها
Pull requestsخواندن و نوشتنساختِ PRها و پست کردنِ کامنت‌های بازبینی
Issuesخواندن و نوشتنپاسخ به منشن‌های issue
Checksخواندن و نوشتنپست کردنِ check runهای Code Review
Actionsخواندنخواندنِ وضعیتِ CI برای auto-fix
Repository hooksخواندن و نوشتندریافتِ webhookها برای متریک‌های مشارکت
Metadataخواندنموردِ نیازِ GitHub برای همه‌ی appها

این app به رویدادهای pull_request، issue_comment، pull_request_review_comment، pull_request_review و check_run subscribe می‌کند.

اگر جریانِ هدایتِ راهنمایی‌شده توسطِ پیکربندیِ شبکه‌ات مسدود است، به‌جای Connect روی Add manually کلیک کن. یک GitHub App روی نمونه‌ی GHESت با مجوزها و رویدادهای بالا بساز، سپس اعتبارنامه‌های app را در فرم وارد کن: hostname، OAuth client ID و secret، GitHub App ID، client ID، client secret، webhook secret و private key.

نمونه‌ی GHESت باید از زیرساختِ Anthropic قابلِ‌دسترسی باشد تا Claude بتواند مخزن‌ها را کلون کند و کامنت‌های بازبینی را پست کند. اگر نمونه‌ی GHESت پشتِ فایروال است، آدرس‌های IPِ Anthropic API را در allowlist بگذار.

وقتی مدیرت نمونه‌ی GHES را وصل کرد، هیچ پیکربندیِ سمتِ توسعه‌دهنده‌ای لازم نیست. Claude Code hostnameِ GHESت را به‌طور خودکار از remoteِ git در دایرکتوریِ کاری‌ات تشخیص می‌دهد.

یک مخزن را از نمونه‌ی GHESت همان‌طور که معمولاً می‌کنی کلون کن:

Terminal window
git clone git@github.example.com:platform/api-service.git
cd api-service

سپس یک نشستِ وب شروع کن. Claude هاستِ GHES را از remoteِ گیتت تشخیص می‌دهد و نشست را از طریقِ نمونه‌ی پیکربندی‌شده‌ی سازمانت مسیریابی می‌کند:

Terminal window
claude --remote "Add retry logic to the payment webhook handler"

این نشست روی زیرساختِ Anthropic اجرا می‌شود، مخزنت را از GHES کلون می‌کند و تغییرات را به یک شاخه push می‌کند. پیشرفت را با /tasks یا در claude.ai/code رصد کن. برای ورک‌فلوی کاملِ نشستِ ابری از جمله بازبینیِ diff، auto-fix و routines، Claude Code on the web را ببین.

یک نشستِ وب را با claude --teleport به ترمینالِ محلی‌ات بکش. Teleport پیش از واکشیِ شاخه و بارگذاریِ تاریخچه‌ی نشست، تأیید می‌کند که در یک checkout از همان مخزنِ GHES هستی. برای جزئیات پیش‌نیازهای teleport را ببین.

marketplaceهای plugin را روی نمونه‌ی GHESت میزبانی کن تا ابزارگانِ داخلی را در سراسرِ سازمانت توزیع کنی. ساختارِ marketplace با marketplaceهای میزبانی‌شده روی github.com یکسان است؛ تنها تفاوت در نحوه‌ی ارجاع به آن‌هاست.

خلاصه‌نویسیِ owner/repo همیشه به github.com اشاره می‌کند. برای marketplaceهای میزبانی‌شده روی GHES، از URLِ کاملِ git استفاده کن:

Terminal window
/plugin marketplace add git@github.example.com:platform/claude-plugins.git

URLهای HTTPS هم کار می‌کنند:

Terminal window
/plugin marketplace add https://github.example.com/platform/claude-plugins.git

برای راهنمای کاملِ ساختِ marketplaceها، Create and distribute a plugin marketplace را ببین.

Allowlist GHES marketplaces in managed settings

Section titled “Allowlist GHES marketplaces in managed settings”

اگر سازمانت از managed settings برای محدود کردنِ marketplaceهایی که توسعه‌دهنده‌ها می‌توانند اضافه کنند استفاده می‌کند، از نوعِ منبعِ hostPattern استفاده کن تا همه‌ی marketplaceها از نمونه‌ی GHESت را بدونِ شمردنِ تک‌تکِ مخزن‌ها مجاز کنی:

{
"strictKnownMarketplaces": [
{
"source": "hostPattern",
"hostPattern": "^github\\.example\\.com$"
}
]
}

می‌توانی marketplaceها را برای توسعه‌دهنده‌ها از پیش ثبت کنی تا بدونِ راه‌اندازیِ دستی ظاهر شوند. این مثال یک marketplaceِ ابزارهای داخلی را در سطحِ کلِ سازمان در دسترس می‌کند:

{
"extraKnownMarketplaces": {
"internal-tools": {
"source": {
"source": "git",
"url": "git@github.example.com:platform/claude-plugins.git"
}
}
}
}

برای شِمای کامل، مرجعِ تنظیماتِ strictKnownMarketplaces و extraKnownMarketplaces را ببین.

چند قابلیت روی GHES متفاوت از github.com رفتار می‌کنند. جدولِ قابلیت‌ها پشتیبانی را خلاصه می‌کند؛ این بخش راه‌حل‌های جایگزین را پوشش می‌دهد.

  • دستورِ /install-github-app: به‌جای آن جریانِ admin setup را روی claude.ai دنبال کن. اگر ورک‌فلوهای GitHub Actions روی GHES هم می‌خواهی، نمونه‌ی workflow را دستی تطبیق بده.
  • سرورِ GitHub MCP: به‌جای آن از gh CLIِ پیکربندی‌شده برای هاستِ GHESت استفاده کن. gh auth login --hostname github.example.com را اجرا کن تا احرازِ هویت شوی، سپس Claude می‌تواند در نشست‌ها از دستورهای gh استفاده کند.

اگر claude --remote با خطای کلون شکست می‌خورد، تأیید کن که مدیرت راه‌اندازی را برای نمونه‌ی GHESت کامل کرده و GitHub App روی مخزنی که در آن کار می‌کنی نصب است. با مدیرت بررسی کن که hostnameِ نمونه که در تنظیماتِ Claude ثبت شده با hostnameِ remoteِ گیتت می‌خواند.

اگر /plugin marketplace add برای URLِ GHESت مسدود شده، سازمانت منابعِ marketplace را محدود کرده. از مدیرت بخواه یک ورودیِ hostPattern برای hostnameِ GHESت در managed settings اضافه کند.

اگر بازبینی‌ها یا نشست‌های وب timeout می‌شوند، ممکن است نمونه‌ی GHESت از زیرساختِ Anthropic قابلِ‌دسترسی نباشد. تأیید کن که فایروالت اتصال‌های ورودی از آدرس‌های IPِ Anthropic API را اجازه می‌دهد.

این صفحه‌ها قابلیت‌های ارجاع‌شده در سراسرِ این راهنما را عمیق‌تر پوشش می‌دهند: