ההוראות האלה מיועדות למפתחי אפליקציות, לאדמינים של פלטפורמות ולמנהלי אבטחה שרוצים להשתמש במאגרי קוד מקור של GitHub Enterprise עם Google. אפשר להשתמש במאגרי GitHub Enterprise עם Gemini Code Assist.
מידע נוסף על Developer Connect זמין במאמר סקירה כללית של Developer Connect.
לפני שמתחילים
-
נכנסים לחשבון Google.
אם עדיין אין חשבון, יוצרים חשבון חדש.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
ודאו שיש לכם גישה לחשבון ב-GitHub Enterprise.
כדי לשמור על אבטחת העבודה של הצוות, מומלץ לבצע את המשימות במדריך הזה באמצעות חשבון בוט או חשבון משותף של הצוות, ולא באמצעות חשבון אישי.
- צריך לוודא שיש לכם מאגר ב-GitHub Enterprise או הרשאות אדמין במאגר משותף.
כשמשתמשים במאגר בארגון GitHub Enterprise, צריך לוודא שיש לכם הרשאות של GitHub App Manager.
- מוודאים שיש לכם משאב שירות של Service Directory לחיבור לרשתות פרטיות, או יוצרים משאב שירות של Service Directory. אפשר ליצור את משאב השירות של Service Directory באותו פרויקט שבו אתם משתמשים ב-Developer Connect, או להשתמש בפרויקט אחר.
יכול להיות שתצטרכו להגדיר את Service Directory באופן שונה לחיבורים לרשתות מחוץ ל- Google Cloud. איך משתמשים ב-Service Directory כדי להגיע למארחים מחוץ ל- Google Cloud
- אופציונלי: יוצרים מפתח הצפנה בניהול הלקוח (CMEK) להצפנת סודות האימות שנוצרים על ידי Developer Connect.
- אופציונלי: כדי להשתמש בהוראות של שורת הפקודה במדריך הזה, מבצעים את השלבים הבאים:
- מתקינים את Google Cloud CLI. אם כבר התקנתם את ה-CLI של gcloud בעבר, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר של
gcloud components update. - יוצרים חשבון שירות של Developer Connect על ידי הרצת הפקודה הבאה, כש-PROJECT_ID הוא Google Cloud מזהה הפרויקט:
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_ID
- מתקינים את Google Cloud CLI. אם כבר התקנתם את ה-CLI של gcloud בעבר, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר של
הפעלת Developer Connect מפעילה גם את Secret Manager API.
הענקת הרשאות IAM נדרשות
כדי לקבל את ההרשאות שדרושות ליצירת חיבורים וקישורים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
אם אתם לא הבעלים של הפרויקט:
אדמין של Developer Connect (
roles/developerconnect.admin) בחשבון המשתמש שלכם. -
אם אתם מתכננים להשתמש ב-CMEK כדי להצפין את הסודות שנוצרים על ידי Developer Connect:
Cloud KMS CryptoKey Encrypter/Decrypter (
roles/cloudkms.cryptoKeyEncrypterDecrypter) בחשבון השירות של Secret Manager. -
אם אתם מתכננים להשתמש ב-CLI של gcloud כדי לבצע את השלבים במדריך הזה:
התפקיד Secret Manager Admin (
roles/secretmanager.admin) בחשבון השירות של Developer Connect. -
אם אתם מתכננים להשתמש במסוף כדי לבצע את השלבים במדריך הזה:
אדמין IAM של פרויקט (
roles/resourcemanager.projectIamAdmin) בחשבון המשתמש שלכם. Google Cloud
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הענקת הרשאות לשימוש בספריית השירותים
כדי לאפשר ל-Developer Connect להשתמש ב-Service Directory, ולאפשר ל-Service Directory לגשת למשאב רשת ה-VPC שלכם, צריך לבצע את השלבים הבאים.
כדי לתת הרשאות לחשבון השירות של Developer Connect להשתמש ב-Service Directory, מריצים את הפקודות הבאות:
PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)") SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-devconnect.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding SERVICE_DIRECTORY_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.viewer"מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: מזהה הפרויקט של Google Cloud הפרויקט שמכיל את משאב השירות של Service Directory.
מעניקים הרשאות ל-Service Directory כדי לגשת למשאב של רשת ה-VPC. משאב הרשת יכול להיות בפרויקט אחר.
gcloud projects add-iam-policy-binding NETWORK_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.pscAuthorizedService"מחליפים את NETWORK_RESOURCE_PROJECT_ID במזהה הפרויקט שמכיל את משאב רשת ה-VPC.
שימוש בספריית השירותים כדי להגיע למארחים מחוץ ל- Google Cloud
Service Directory משתמש בטווח כתובות ה-IP 35.199.192.0/19 כדי לחבר את המארח שלכם מחוץ ל- Google Cloud. צריך להוסיף את הטווח הזה לרשימת ההיתרים בחומת האש. בנוסף, צריך להגדיר את הרשת הפרטית כך שהיא תנתב את הטווח הזה דרך חיבור Cloud VPN או Cloud Interconnect.
אם החיבור שלכם משתמש ב-Cloud Router, אתם יכולים להגדיר את החיבור כך שיעביר את הטווח לרשת הפרטית שלכם.
מידע נוסף זמין במאמר הגדרת גישה לרשת פרטית.
שימוש ב-Cloud Load Balancing כדי להגיע למארחים מחוץ ל- Google Cloud
אם הגדרת הרשת לא מאפשרת לכם לנתב את טווח כתובות ה-IP של Service Directory 35.199.192.0/19 אל Cloud VPN או אל Cloud Interconnect, אתם יכולים ליצור מאזן עומסים באמצעות Cloud Load Balancing שמנתב את התנועה אל המארח שלכם.
כשיוצרים את נקודת הקצה של Service Directory, חשוב להשתמש בכתובת ה-IP של כלל ההעברה של מאזן העומסים במקום בכתובת ה-IP של המארח. כשיוצרים את נקודת הקצה, אפשר להשתמש במאזן עומסים פנימי מסוג HTTPS או במאזן עומסים פנימי מסוג TCP.
כשיוצרים מאזן עומסים מסוג TCP, כדאי לקחת בחשבון את הנקודות הבאות:
- כדי להגיע למארח, נדרשת רק קבוצת נקודות קצה (NEG) של קישוריות היברידית.
- מאזן העומסים של TCP לא דורש את המפתח הפרטי הלא מוצפן של אישור ה-SSL.
- בהגדרת Cloud VPN צריך להשתמש ב-Cloud Router עם ניתוב דינמי גלובלי. אם Cloud VPN משתמש בניתוב סטטי, אתם יכולים להשתמש ב-proxy שמשתמש ב-Cloud Service Mesh במקום זאת. מידע נוסף זמין במאמר בנושא הגדרת שירותים של קצה הרשת לפריסות היברידיות.
מידע נוסף על יצירת מאזן עומסים ב-HTTPS זמין במאמר בנושא הגדרת מאזן עומסים פנימי לאפליקציות עם קישוריות היברידית. מידע נוסף על יצירת מאזן עומסים מסוג TCP זמין במאמר הגדרה של מאזן עומסי רשת אזורי פנימי עם קישוריות היברידית.
יצירת חיבור
בקטע הזה מוסבר איך ליצור חיבור בין Developer Connect לבין GitHub Enterprise. אם אתם משתמשים במסוף Google Cloud , תוכלו גם להתחיל להוסיף קישורים למאגרי מידע אחרי שתסיימו להגדיר את החיבור.
כדי ליצור חיבור חדש ל-GitHub Enterprise, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור חיבור, מבצעים את השלבים הבאים:
פותחים את Developer Connect במסוף Google Cloud .
בדף מאגרי Git ב-Developer Connect.
- אם מוצגת רשימה של ספקי ניהול קוד מקור: בוחרים ספק ניהול קוד מקור כדי להגדיר את החיבור הראשון. לוחצים על Connect (קישור) בכרטיס GitHub Enterprise.
אם מוצג לכם טבלה עם רשימה של קישורים קיימים: מגדירים את ספק ניהול קוד המקור על ידי לחיצה על יצירת קישור > GitHub Enterprise.
ייפתח הדף Create Connection.
בשדה Region, בוחרים אזור למשאבי הקישור.
- בשדה Name (שם), מזינים שם לקישור החדש.
מסמנים את התיבה הפעלת חיבור שעומד בדרישות של שמירת נתונים במדינה מסוימת כדי שהחיבור יעמוד בדרישות של שמירת נתונים במדינה מסוימת.
חיבורים ל-GitHub שנוצרו באמצעות Google Cloud המסוף עומדים בדרישות של שמירת נתונים במדינה מסוימת אם מסמנים את תיבת הסימון הזו כשיוצרים את החיבור. כשעושים את זה, Developer Connect יוצר אפליקציית GitHub
כשיוצרים חיבורים ל-GitHub באמצעות Google Cloud CLI, החיבורים האלה לא עומדים בדרישות של שמירת נתונים. כל סוגי החיבורים האחרים תואמים לדרישות בנושא מיקום הנתונים.
בקטע כתובת ה-URL של המארח, מזינים את כתובת ה-URL של המארח שאליו רוצים להתחבר.
לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.
תיבת הסימון Enable Developer Connect proxy (הפעלת שרת proxy של Developer Connect) מסומנת כברירת מחדל, כדי ש-Developer Connect יוכל לשמש כשרת proxy לקריאות Git אל GitHub Enterprise.
בקטע Networking, עבור סוג הרשת, בוחרים באפשרות Private network.
בקטע CA Certificate (אישור CA), לוחצים על Browse (עיון) כדי להעלות את האישור בחתימה עצמית.
הגודל של האישור לא יכול להיות יותר מ-10KB והוא צריך להיות בפורמט PEM (.pem, .cer או .crt). אם לא מציינים כלום בקטע הזה, המערכת תשתמש בסט ברירת מחדל של אישורים.
בקטע Service Directory service, בוחרים את המיקום של השירות:
- בפרויקט
your-project - בפרויקט אחר
- הזנה ידנית
אם בוחרים באפשרות בפרויקט אחר או באפשרות הזנה ידנית, מציינים את מזהה הפרויקט. Google Cloud בוחרים את הפרויקט מהתפריט הנפתח או מזינים את מזהה הפרויקט באופן ידני.
- בפרויקט
אזור: בוחרים את האזור של שירות מדריך השירותים. האזור שצוין לשירות חייב להיות זהה לאזור שמשויך לחיבור.
מרחב שמות: בוחרים את מרחב השמות של שירות ספריית השירותים.
שירות: בוחרים את שם השירות של ספריית השירותים במרחב השמות.
אופציונלי: בקטע Encryption, בוחרים מפתח CMEK כדי להצפין סודות של Secret Manager שנוצרו על ידי Developer Connect.
לוחצים על Continue.
מופיעה תיבת דו-שיח של GitHub שבה מוצע ליצור אפליקציית GitHub.
פועלים לפי ההנחיות ב-GitHub כדי להשלים את המשימות הבאות:
מזינים שם לאפליקציה.
בוחרים את הארגון שבו רוצים להתקין את האפליקציה.
בוחרים את המאגרים שרוצים להעניק להם גישה.
תיבת הדו-שיח נסגרת.
Developer Connect מאחזר את המפתח הפרטי שלכם מ-GitHub ושומר אותו בפרויקט Google Cloud בתור סוד ב-Secret Manager. כדי לראות את הסודות שלכם, מציגים את רשימת הסודות ב-Secret Manager.
אחרי שיוצרים את הקישור, מופיע הדף Link repositories (קישור מאגרי מידע).
כדי לקשר מאגרי מידע לחיבור:
ברשימת המאגרים הזמינים, בוחרים את המאגרים שרוצים להשתמש בהם.
לוחצים על OK.
לוחצים על קישור.
החיבור שלכם נוסף לדף חיבורים, והקישורים למאגרים שלכם נוספים לדף מאגרים במסוף Google Cloud . תמיד אפשר להוסיף עוד קישורים לחיבורים קיימים.
אם אתם מגדירים את Gemini Code Assist, ממשיכים בתהליך לפי השלבים במאמר הגדרה ושימוש ב-Gemini Code Assist עיגון בקוד של הארגון.
gcloud
כדי לבצע את המשימות הבאות, צריך לבצע פעולות מסוימות בדפדפן האינטרנט.
מריצים את הפקודה
gcloud developer-connect connections createכדי ליצור חיבור ל-GitHub Enterprise:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --project=PROJECT_ID \ --github-enterprise-config-host-uri=HOST_URI \ --github-enterprise-config-service-directory=SERVICE_DIRECTORY_RESOURCE \ --git-proxy-config-enabledמחליפים את מה שכתוב בשדות הבאים:
- CONNECTION_NAME: השם של החיבור.
- REGION: האזור של החיבור.
- HOST_URI: ה-URI של המארח שאליו רוצים להתחבר.
- SERVICE_DIRECTORY_RESOURCE: נתיב המשאב של Service Directory, בפורמט
projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE/services/SERVICE. -
--git-proxy-config-enabledהוא דגל אופציונלי שמאפשר ל-Developer Connect לשמש כשרת proxy לקריאות Git אל GitHub Enterprise. עליך להפעיל את התכונה הזו בעת הפעלת Gemini Code Assist עיגון בקוד של הארגון במאגרי קוד מקור של GitHub Enterprise שמתארחים ברשתות פרטיות. -
--github-enterprise-config-ssl-ca-certificateהוא דגל אופציונלי להוספת אישור SSL, בפורמט$HOME/my-ssl-ca.txt.
כדי לנהל את החיבורים ל-GitHub, צריך ליצור אפליקציית GitHub. מריצים את הפקודה הבאה כדי לקבל את ה-URI להגדרת האפליקציה:
gcloud developer-connect connections describe CONNECTION_NAME \ --location=REGIONמחליפים את מה שכתוב בשדות הבאים:
- CONNECTION_NAME: השם של החיבור.
- REGION: האזור של החיבור.
הכלי Developer Connect מחזיר קישור להשלמת השלבים הבאים בחלון דפדפן. מעתיקים את הקישור.
פותחים את הקישור בדפדפן אינטרנט.
אם מתבקשים, נכנסים לחשבון ב-GitHub.
פועלים לפי ההנחיות ב-GitHub כדי להשלים את המשימות הבאות:
מזינים שם לאפליקציה.
בוחרים את הארגון שבו רוצים להתקין את האפליקציה.
בוחרים את המאגרים שרוצים להעניק להם גישה.
תיבת הדו-שיח תיסגר.
Developer Connect מאחזר את המפתח הפרטי שלכם מ-GitHub ושומר אותו בפרויקט Google Cloud בתור סוד ב-Secret Manager. כדי לראות את הסודות שלכם, מציגים את רשימת הסודות ב-Secret Manager.
אימות החיבור
מריצים את הפקודה הבאה כדי לוודא שנוצר חיבור ל-GitHub:
gcloud developer-connect connections describe CONNECTION_NAME \
--location=REGION
כאשר:
- CONNECTION_NAME: השם של החיבור.
- REGION: האזור של החיבור.
Developer Connect מחזיר סטטוס בשדה installationState. אם הערך של השדה הזה הוא COMPLETE, התקנת האפליקציה הושלמה.
אחרת, Developer Connect מחזיר URI כדי להפנות אתכם להגדרה בדפדפן.
אחרי שהחיבור יושלם, בוחרים את המאגרים לקשר לפי ההוראות שבקטע קישור למאגרים.
הוספת קישורים למאגרים לחיבורים קיימים
אחרי שיוצרים חיבור ל-GitHub Enterprise, אפשר לקשר למאגרי מידע. בשלב מאוחר יותר, תוכלו לחזור על השלבים האלה כדי לקשר מאגרי מידע נוספים לפי הצורך.
כדי ליצור קישורים למאגר בחיבור קיים ל-GitHub Enterprise, בוחרים באחת מהאפשרויות הבאות:
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על קישור מאגר.
נפתח החלונית Link Git repositories (קישור מאגרי Git).
ברשימת החיבורים, בוחרים חיבור.
לוחצים על Continue.
ברשימת המאגרים, בוחרים את המאגרים שרוצים לקשר.
לוחצים על יצירה.
הכלי Developer Connect יוצר את הקישורים למאגר ומציג אותם במסוף Google Cloud .
gcloud
מריצים את הפקודה הבאה:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
- REPO_NAME: שם לקישור למאגר.
- REPO_URI: הקישור למאגר.
לדוגמה,
https://github.com/cloud-build/test-repo.git. - CONNECTION_NAME: השם של החיבור.
- REGION: האזור של החיבור.
הקישורים למאגר נוצרים על ידי Developer Connect.
כדי לכלול ברשימה את המאגרים המקושרים, מריצים את הפקודה developer-connect connections git-repository-links list.
אם אתם מגדירים את Gemini Code Assist, ממשיכים בתהליך לפי השלבים במאמר הגדרה ושימוש ב-Gemini Code Assist עיגון בקוד של הארגון.
שיתוף נתונים
תוכן מ Google Cloud מקורות שמקושרים לחיבור הזה עשוי להיות מועבר אל GitHub. ההצהרה הזו חלה על כל המשאבים הקיימים והעתידיים שמשתמשים בחיבור הזה. כדי להפסיק את שיתוף המידע עם GitHub, צריך למחוק את החיבורים של Developer Connect ב Google Cloud מסוף או ב-CLI של gcloud, ולבטל את הגישה ב-GitHub.
המאמרים הבאים
- משלימים את ההגדרה של עיגון בקוד של הארגון ב-Gemini Code Assist
- איך Gemini Code Assist עוזר לכם להאיץ את פיתוח התוכנה
- אפשר לעיין בשילובים אחרים שזמינים דרך Developer Connect.