מדריך קלוד קוד בעברית

תיעוד 28

Claude Code עם GitHub Enterprise Server

חברו את Claude Code למופע GitHub Enterprise Server באירוח עצמי, עבור סשנים בענן, סקירת קוד, ושוקי תוספים.

[!NOTE]

תמיכה ב-GitHub Enterprise Server זמינה לתוכניות Team ו-Enterprise.

תמיכה ב-GitHub Enterprise Server (GHES) מאפשרת לארגון להשתמש ב-Claude Code עם מאגרים שמתארחים במופע GitHub המנוהל אצלכם, במקום github.com. אחרי ש-Owner מחבר את מופע ה-GHES, מפתחים יכולים להריץ סשנים בענן ולקבל סקירות קוד אוטומטיות בלי הגדרה לכל מאגר. שוקי תוספים שמתארחים במופע נתמכים גם הם. דרישות האישורים משתנות לפי משטח, כפי שמתואר בשוקי תוספים ב-GHES.

עבור מאגרים ב-github.com, ראו שימוש ב-Claude Code בענן ו-Code Review. כדי להריץ את Claude בתשתית ה-CI שלכם, ראו GitHub Actions.

#מה עובד עם GitHub Enterprise Server

הטבלה הבאה מראה אילו תכונות של Claude Code תומכות ב-GHES, והבדלים מההתנהגות ב-github.com.

תכונהתמיכה ב-GHESהערות
סשנים בענן✅ נתמךOwner מחבר את מופע ה-GHES פעם אחת. מפתחים משתמשים ב-claude --cloud או ב-claude.ai/code
Code Review✅ נתמךאותן סקירות PR אוטומטיות כמו ב-github.com
Claude Security✅ נתמךזמין בבטא ציבורית לתוכניות Enterprise ב-claude.ai/security
סשני Teleport✅ נתמךהעברת סשנים בין הענן לטרמינל עם --teleport
שוקי תוספים✅ נתמךדרישות האישורים שונות לפי משטח. ראו שוקי תוספים ב-GHES
מדדי תרומה❌ לא נתמךנדרשים מאגרים שמתארחים ב-github.com. לוח הבקרה של האנליטיקה עדיין מציג מדדי שימוש עבור עבודה במאגרי GHES
GitHub Actions✅ נתמךנדרשת הגדרת workflow ידנית. /install-github-app מיועד ל-github.com בלבד
שרת GitHub MCP❌ לא נתמךשרת GitHub MCP לא עובד עם מופעי GHES

#הגדרת מנהל

Owner מחבר את מופע ה-GHES ל-Claude Code פעם אחת. נדרשים תפקיד Owner או Primary Owner בארגון Claude, והרשאה ליצור GitHub Apps במופע ה-GHES.

ההגדרה המודרכת יוצרת manifest של GitHub App ומפנה אתכם למופע ה-GHES כדי ליצור את האפליקציה בלחיצה אחת. אם הסביבה חוסמת את זרימת ההפניה, קיימת הגדרה ידנית חלופית.

  1. פתיחת הגדרות ספקי Git

    עברו אל Organization settings > Git providers ואתרו את המקטע GitHub Enterprise.

  2. התחלת ההגדרה המודרכת

    לחצו על Connect, או על Add instance אם מופע כבר מחובר, ואז בחרו Set up automatically. הזינו שם תצוגה של עד 20 תווים עבור החיבור, ואת שם המארח של ה-GHES, לדוגמה github.example.com. אם מופע ה-GHES משתמש ברשות אישורים בחתימה עצמית או פרטית, הדביקו את אישור ה-CA בשדה האופציונלי.

  3. יצירת ה-GitHub App

    לחצו על Continue to GitHub Enterprise. הדפדפן מפנה אתכם למופע ה-GHES עם manifest של אפליקציה שמולא מראש. עיינו בתצורה ולחצו על Create GitHub App. GHES מפנה אתכם בחזרה אל Claude, ואישורי האפליקציה נשמרים אוטומטית.

  4. התקנת האפליקציה על המאגרים

    מעמוד ה-GitHub App במופע ה-GHES, התקינו את האפליקציה על המאגרים או הארגונים ש-Claude צריך לגשת אליהם. אפשר להתחיל בקבוצה חלקית ולהוסיף עוד מאוחר יותר.

  5. הפעלת Code Review

    עברו אל claude.ai/admin-settings/claude-code והפעילו Code Review עבור מאגרי ה-GHES, באותה הגדרה כמו ב-github.com.

#הרשאות GitHub App

ה-manifest מגדיר את ה-GitHub App עם ההרשאות ואירועי ה-webhook שלמטה, שמכסים יחד סשנים בענן, Code Review, Claude Security, ושוקי תוספים:

הרשאהגישהמשמש עבור
Contentsקריאה וכתיבהשכפול מאגרים ודחיפת ענפים
Pull requestsקריאה וכתיבהיצירת PRs ופרסום הערות סקירה
Issuesקריאה וכתיבהמענה לאזכורים ב-issues
Checksקריאה וכתיבהפרסום check runs של Code Review
Actionsקריאהקריאת סטטוס CI עבור תיקון אוטומטי
Commit statusesקריאהקריאת סטטוס CI מספקים שמדווחים על סטטוסי commit במקום check runs
Repository hooksקריאה וכתיבהיצירת webhook במאגר של שוק תוספים כאשר Sync automatically מופעל עבור שוק ב-Organization settings > Plugins & skills
Metadataקריאהנדרש על ידי GitHub לכל האפליקציות
Organization membersקריאההתאמה ל-Claude GitHub App ב-github.com, שמשתמש בזה כדי לבדוק את תפקיד הארגון של המשתמש המתחבר בעת קישור התקנה

האפליקציה נרשמת לאירועים pull_request, issue_comment, pull_request_review_comment, pull_request_review, check_run, ו-status.

GitHub מחיל manifest רק בעת יצירת האפליקציה, ולכן אפליקציה שנוצרה מגרסה מוקדמת יותר של ה-manifest שומרת על ההרשאות והאירועים שאיתם נוצרה. אם לאפליקציה חסרה אחת מההרשאות או מהאירועים שלמעלה, הוסיפו אותם בהגדרות האפליקציה במופע ה-GHES. GitHub מבקש אז מבעלים של כל התקנה לאשר את ההרשאות החדשות, וההתקנה שומרת על ההרשאות הישנות עד שהם עושים זאת.

#הגדרה ידנית

אם זרימת ההפניה המודרכת חסומה על ידי תצורת הרשת, לחצו על Connect או Add instance, ואז בחרו Add manually במקום Set up automatically. צרו GitHub App במופע ה-GHES עם ההרשאות והאירועים שלמעלה, ואז הזינו בטופס את פרטי החיבור: שם תצוגה, שם המארח של ה-GHES ויציאה אופציונלית, ואת מזהה האפליקציה, ה-client ID, ה-client secret, סוד ה-webhook, והמפתח הפרטי. הטופס מקבל גם אישור CA מותאם אישית אופציונלי, ושמות מארח של read replica.

Claude יוצר את כתובת ה-webhook של האפליקציה כששומרים את החיבור. אחרי הלחיצה על Add configuration, פתחו את תפריט More options של החיבור, בחרו Copy webhook URL, והדביקו את הכתובת בהגדרות ה-webhook של האפליקציה במופע ה-GHES. השתמשו באותו סוד webhook שהוזן בטופס.

#דרישות רשת

עבור סשנים שמתארחים אצל Anthropic, מופע ה-GHES חייב להיות נגיש מתשתית Anthropic כדי ש-Claude יוכל לשכפל מאגרים ולפרסם הערות סקירה. אם מופע ה-GHES נמצא מאחורי חומת אש, הוסיפו לרשימת ההיתרים את כתובות ה-IP היוצאות של Anthropic. סשנים בסביבה באירוח עצמי משכפלים מתוך הרשת שלכם, אלא אם ה-runner בוחר להצטרף לפרוקסי git של Anthropic, שמביא מצד Anthropic וזקוק לאותה נגישות.

זרימות מתארחות שלפני הסשן, כמו בורר המאגרים, רצות בצד של Anthropic לפני שהסשן מתחיל. הן צריכות שמופע ה-GHES יהיה נגיש מתשתית Anthropic גם כשהסשן רץ בסביבה באירוח עצמי. מחבר ה-SCM אינו זמין, ולכן הזרימות האלה לא יכולות להגיע למארח GHES שניתן לנתב אליו רק באופן פנימי.

#זרימת עבודה למפתחים

Claude Code מזהה את שם המארח של ה-GHES באופן אוטומטי מ-git remote בתיקיית העבודה.

שכפלו מאגר ממופע ה-GHES כרגיל, והחליפו את github.example.com ואת נתיב המאגר בשם המארח של ה-GHES ובנתיב המאגר:

git clone [email protected]: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. ראו שימוש ב-Claude Code בענן לזרימת העבודה המלאה של סשן בענן, כולל סקירת diff, תיקון אוטומטי, ומשימות מתוזמנות בענן.

#העברת סשנים ב-Teleport לטרמינל

משכו סשן ענן לטרמינל המקומי עם claude --teleport. Teleport מוודא שאתם ב-checkout של אותו מאגר GHES לפני שהוא מביא את הענף וטוען את היסטוריית הסשן. ראו דרישות teleport לפרטים.

#שוקי תוספים ב-GHES

ארחו שוקי תוספים במופע ה-GHES כדי להפיץ כלים פנימיים ברחבי הארגון. מבנה השוק זהה לשווקים שמתארחים ב-github.com, אבל ההתקנה עובדת אחרת לפי המקום שבו מוסיפים את השוק, והאישורים שונים בין המשטחים:

משטחאיך ההתקנה עובדתמה כל משתמש צריך
Claude Code CLI ושולחן העבודהClaude Code משכפל את מאגר השוק באמצעות אישורי ה-git הקיימים במכונהגישת Git למארח ה-GHES מהמכונה שלהם
הגדרות מנוהלות (extraKnownMarketplaces)Claude Code רושם את הרשומה ומשכפל את המאגר באמצעות אישורי ה-git הקיימים במכונהגישת Git למארח ה-GHES מהמכונה שלהם
הגדרות תוספים של הארגון ב-claude.aiOwner בוחר את מופע ה-GHES כמקור. ה-backend של Anthropic מביא ומסנכרן את המאגר באמצעות ה-GitHub App מהגדרת המנהלשום דבר לכל משתמש אחרי ההוספה. ה-Owner שמוסיף צריך שחשבון GitHub Enterprise שלו מחובר כבדיקת גישה, וה-GitHub App חייב להיות מותקן על מאגר השוק
הגדרות משתמש ב-claude.aiה-backend של Anthropic מביא את המאגר באמצעות חיבור GitHub Enterprise של המשתמש שמגישחשבון GitHub Enterprise משלו מחובר אל Claude
סשנים בענןסשנים בענן משכפלים שווקים בתוך ארגז החול של הסשן. ארגז החול יכול להגיע למופע ה-GHES רק כאשר מאגר הסשן נמצא באותו מופע, ואישורי ה-git שלו מוגבלים למאגרי הסשןלא אמין עבור שווקים שמתארחים ב-GHES: מארח שונה ממאגר הסשן אינו נגיש, וגם התקנות באותו מופע יכולות להיכשל. השתמשו ב-CLI, בהגדרות מנוהלות, או ב-claude.ai

[!WARNING]

חיבורי GitHub Enterprise ב-claude.ai הם לכל משתמש כאשר שוק נוסף מהגדרות המשתמש. הגדרת המנהל מחברת את מופע ה-GHES לארגון, אבל היא לא מחברת חשבונות משתמשים בודדים: כל משתמש שמוסיף שוק GHES מההגדרות שלו חייב קודם לחבר את חשבון GitHub Enterprise שלו, וחיבור של משתמש אחד, כולל של ה-Owner, לא מכסה אף אחד אחר. שווקים ש-Owner מוסיף בהגדרות התוספים של הארגון לא מטילים את הדרישה הזאת על משתמשים, כי הבאות מתמשכות משתמשות ב-GitHub App של הארגון. ה-Owner שמוסיף את השוק עדיין צריך שחשבון GitHub Enterprise שלו מחובר בזמן ההוספה.

#הוספת שוק GHES

קיצור הדרך owner/repo תמיד מפוענח אל github.com. עבור שווקים שמתארחים ב-GHES, השתמשו בכתובת git המלאה, והחליפו את github.example.com ואת נתיב המאגר בערכים שלכם. מומלץ להשתמש בכתובות HTTPS:

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

כתובות SSH עובדות אם המכונה כבר סומכת על מארח ה-GHES:

/plugin marketplace add [email protected]:platform/claude-plugins.git

Claude Code מריץ את git באופן לא אינטראקטיבי ודוחה חיבורי SSH למארחים שאינם בקובץ known_hosts של המכונה. כתובת HTTPS עם git credential helper נמנעת מדרישת 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 לכל משתמש אינו נדרש. עבור פריסה מוצלחת:

  • השתמשו בכתובת git מלאה. קיצור הדרך owner/repo תמיד מפוענח אל github.com ולא יכול להפנות למארח GHES.
  • העדיפו כתובות HTTPS. שכפולי SSH נכשלים במכונות שעדיין לא סומכות על מפתח המארח של ה-GHES. כתובת HTTPS עם git credential helper הסטנדרטי של הארגון עובדת בכל מכונה שמוגדרים בה אישורים.
  • ודאו שכל מכונה יכולה לשכפל ממארח ה-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, התאימו ידנית את זרימת העבודה לדוגמה.
  • שרת GitHub MCP: השתמשו ב-CLI של gh שמוגדר למארח ה-GHES. הריצו gh auth login --hostname github.example.com כדי לבצע אימות, ואז Claude יכול להשתמש בפקודות gh בסשנים.

#פתרון בעיות

#סשן ענן נכשל בשכפול מאגר

אם claude --cloud נכשל עם שגיאת שכפול, ודאו ש-Owner השלים את ההגדרה עבור מופע ה-GHES שלכם, ושאפליקציית GitHub App מותקנת במאגר שבו אתם עובדים. בקשו מה-Owner שחיבר את המופע לאשר שה-hostname הרשום בהגדרות Claude תואם ל-hostname ב-git remote שלכם.

אם הסשן נעצר עם "Authentication failed while accessing the repository", ייתכן שלא חיברתם את חשבון GitHub Enterprise שלכם. חברו אותו מבורר המאגרים ב-claude.ai/code, ואז התחילו סשן חדש.

#הוספת marketplace נכשלת עם שגיאת מדיניות

אם /plugin marketplace add חסום עבור כתובת ה-GHES שלכם, הארגון שלכם הגביל מקורות marketplace. בקשו מהמנהל להוסיף רשומת hostPattern עבור ה-hostname של ה-GHES בהגדרות מנוהלות.

#הוספת marketplace ב-claude.ai נכשלת עם שגיאת גישה ל-GitHub

אם הוספת marketplace של GHES מהגדרות המשתמש נכשלת עם שגיאה כללית כמו "Marketplace couldn't be added", בדקו קודם את החיבור ל-GitHub Enterprise. זה מה שמופיע כאשר חשבון GitHub Enterprise שלכם אינו מחובר ל-Claude, גם אם מופע ה-GHES של הארגון מוגדר ומשתמשים אחרים מחוברים. תיבת הדו-שיח אינה מפנה לזרימת החיבור של GitHub Enterprise, והאפשרות "Connect to GitHub" בלשונית Browse מתחברת ל-github.com, וזה אינו מעניק גישה למאגרי GHES.

חברו את חשבון GitHub Enterprise באחד מהמקומות האלה, ואז הוסיפו שוב את ה-marketplace:

  • בורר המאגרים: ב-claude.ai/code, בורר המאגרים מציע אפשרות חיבור לכל מופע GHES מוגדר.
  • דף ספקי Git: אם אתם Owner, עברו למקטע GitHub ב-Organization settings > Git providers ולחצו על Connect, או על Add organization לאחר שחשבון מחובר. בחרו את ה-hostname של ה-GHES תחת GitHub instance, ואז לחצו על Connect.

לחלופין, בקשו מ-Owner להוסיף את ה-marketplace בהגדרות התוספים של הארגון, מה שמסיר את דרישת החיבור לכל משתמש.

במשטחים אחרים של claude.ai, שגיאה "Repository not found. If it's private, GitHub access is required" ב-marketplace של GHES בדרך כלל מעידה על אותו חיבור חסר. חברו את חשבון GitHub Enterprise דרך אחד מהנתיבים למעלה, ואז נסו שוב.

#מופע GHES אינו נגיש

אם ביקורות או סשני ענן שמתארחים ב-Anthropic מגיעים לזמן קצוב, ייתכן שמופע ה-GHES אינו נגיש מתשתית Anthropic. אשרו שחומת האש מאפשרת חיבורים נכנסים מכתובות ה-IP היוצאות של Anthropic. סשנים בסביבה באירוח עצמי מגיעים ל-GHES מתוך הרשת שלכם, כך שכאשר אחד מהם אינו יכול לשכפל, בדקו את נתיב הרשת של ה-runner עצמו. עבור בורר המאגרים ותהליכים מתארחים אחרים שלפני הסשן, ראו דרישות רשת.

#בדיקת חיבור עוברת אבל בדיקה שנייה נכשלת

הבדיקה השנייה מתחברת למופע ה-GHES שלכם באותו אופן שבו סשני ענן שמתארחים ב-Anthropic מתחברים. מצאו את ההודעה כדי לראות אם לבדוק את חומת האש או לנסות שוב:

  • Connection test passed, but a second test failed.: אם המופע מאחורי חומת אש, אפשרו את כל כתובות ה-IP היוצאות של Anthropic, כי בדיקת חיבור יכולה לעבור גם כאשר חומת האש חוסמת חלק מהן. אפשר גם לנסות שוב בעוד כמה דקות.
  • Connection test passed, but a second test could not run.: נסו שוב בעוד כמה דקות.

כדי לבדוק שוב, פתחו את תפריט More options של החיבור ב-Organization settings > Git providers ובחרו Test connection.

#התחלת סשן נכשלת עם Unable to get organization UUID

Claude Code לא הצליח לקרוא ארגון claude.ai מהאישורים שלכם. התחברו עם /login באמצעות חשבון בארגון Team או Enterprise, כי תמיכה ב-GitHub Enterprise Server מוגבלת לתוכניות האלה. ראו Unable to get organization UUID לגבי הגורמים וההודעות האחרות שהמצב הזה מייצר.

#משאבים קשורים

העמודים האלה מכסים לעומק את התכונות שמוזכרות לאורך המדריך: