ההוראות האלה מיועדות למפתחי אפליקציות, לאדמינים של פלטפורמות ולמנהלי אבטחה שרוצים להשתמש במאגרי קוד מקור של GitLab Enterprise עם Google. אתם יכולים להשתמש במאגרי GitLab 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 API.
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 API.
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.-
ודאו שיש לכם גישה לחשבון ב-GitLab Enterprise.
כדי לשמור על אבטחת העבודה של הצוות, מומלץ לבצע את המשימות במדריך הזה באמצעות חשבון שירות או חשבון משותף של הצוות, ולא באמצעות חשבון אישי.
- צריך לוודא שאתם הבעלים של מאגר GitLab Enterprise או שיש לכם הרשאות אדמין במאגר משותף.
- אופציונלי: יוצרים מפתח הצפנה בניהול הלקוח (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.
דרישות למארחים
אם לא התקנתם מופע של GitLab Enterprise Edition Server, תוכלו לקרוא את מדריך ההתקנה של GitLab Enterprise Edition לקבלת הוראות.
כשפועלים לפי ההוראות להתקנת מופע של GitLab Enterprise Edition Server, חשוב לשים לב לנקודות הבאות:
חובה להגדיר את המארח לטיפול בפרוטוקול
HTTPS. אין תמיכה במארחים שהוגדרו עם פרוטוקולHTTP.צריך להגדיר את המארח עם אותה כתובת URL שמשמשת להגעה למארח מ- Google Cloud. למידע נוסף, אפשר לעיין במסמכי העזרה של GitLab בנושא הגדרת כתובת URL חיצונית.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת חיבורים וקישורים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-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
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת אסימוני גישה
כדי ליצור אסימוני גישה ב-GitLab, צריך לבצע את השלבים הבאים:
פועלים לפי ההוראות בתיעוד של GitLab כדי ליצור אסימוני גישה אישיים, אסימוני גישה לקבוצות או אסימוני גישה לפרויקטים עם ההרשאות הבאות:
- טוקן אחד עם היקף
apiלחיבור ולניתוק מאגרי מידע. - טוקן אחד עם היקף
read_apiכדי לאפשר ל-Developer Connect לקרוא קוד מקור במאגרים שלכם. - באסימוני גישה לקבוצות ובאסימוני גישה לפרויקטים, האסימונים צריכים להיות ברמת הרשאה Maintainer (תחזוקה) או גבוהה יותר.
- טוקן אחד עם היקף
יצירת חיבור
בקטע הזה מוסבר איך ליצור חיבור בין Developer Connect לבין GitLab Enterprise. אם אתם משתמשים במסוף Google Cloud , תוכלו גם להתחיל להוסיף קישורים למאגרי מידע אחרי שתסיימו להגדיר את החיבור.
כדי ליצור חיבור חדש ל-GitLab Enterprise, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור חיבור, מבצעים את השלבים הבאים:
פותחים את Developer Connect במסוף Google Cloud .
בדף מאגרי Git ב-Developer Connect.
- אם מוצגת רשימה של ספקי ניהול קוד מקור: בוחרים ספק ניהול קוד מקור כדי להגדיר את החיבור הראשון. לוחצים על Connect (חיבור) בכרטיס GitLab Enterprise.
אם מופיעה טבלה עם רשימה של קישורים קיימים: כדי להגדיר את ספק ניהול קוד המקור, לוחצים על יצירת קישור > GitLab Enterprise.
ייפתח הדף Create Connection.
בשדה Region, בוחרים אזור למשאבי הקישור.
- בשדה Name (שם), מזינים שם לקישור החדש.
בקטע כתובת ה-URL של המארח, מזינים את כתובת ה-URL של המארח שאליו רוצים להתחבר.
בקטע Access Tokens, מזינים את הטוקנים של החשבון:
- טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף
api. - קריאת טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף
read_api.
באחריותכם לוודא שהאסימונים של GitLab נשארים בתוקף. משך החיים המקסימלי של אסימוני GitLab הוא 365 ימים, אלא אם יוצר האסימון או האדמין ציינו אחרת. מידע על ניהול הגדרות התפוגה של אסימונים והודעות זמין במסמכי התיעוד של GitLab בנושא אסימוני גישה אישיים, אסימוני גישה לקבוצות ואסימוני גישה לפרויקטים.
- טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף
לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.
אופציונלי: כברירת מחדל, Developer Connect יכול לשמש כשרת proxy לקריאות Git אל GitLab Enterprise. כדי להשבית את האפשרות הזו, מבטלים את הסימון בתיבה Enable Developer Connect proxy.
בקטע סוג הרשת, בוחרים באפשרות אינטרנט ציבורי.
אם רוצים להשתמש ברשת פרטית, אפשר לעיין במאמר התחברות למאגרי GitLab Enterprise שמתארחים ברשת פרטית.
אופציונלי: בקטע Encryption, בוחרים מפתח CMEK כדי להצפין סודות של Secret Manager שנוצרו על ידי Developer Connect.
לוחצים על Continue.
אחרי שיוצרים את הקישור, מופיע הדף Link repositories (קישור מאגרי מידע).
כדי לקשר מאגרי מידע לחיבור:
ברשימת המאגרים הזמינים, בוחרים את המאגרים שרוצים להשתמש בהם.
לוחצים על OK.
לוחצים על קישור.
החיבור שלכם נוסף לדף חיבורים, והקישורים למאגרים שלכם נוספים לדף מאגרים במסוף Google Cloud . תמיד אפשר להוסיף עוד קישורים לחיבורים קיימים.
אם אתם מגדירים את Gemini Code Assist, ממשיכים בתהליך לפי השלבים במאמר הגדרה ושימוש ב-Gemini Code Assist עיגון בקוד של הארגון.
gcloud
כדי ליצור סוד של webhook ב-Secret Manager, מריצים את הפקודה הבאה, כש-WEBHOOK_SECRET_NAME הוא שם הסוד של ה-webhook:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAMEכדי לאחסן את אסימוני הגישה ב-Secret Manager, מריצים את הפקודות הבאות:
gcloud secrets create API_SECRET_NAME echo -n API_SECRET_DATA | gcloud secrets versions add API_SECRET_NAME --data-file=- gcloud secrets create READ_SECRET_NAME echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-מחליפים את מה שכתוב בשדות הבאים:
- API_SECRET_NAME: שם לסוד שבו מאוחסן האסימון עם ההיקף
api. - API_SECRET_DATA: האסימון עם ההיקף
api, בדומה ל-glpat-XXXXXXXXXXXXXXXX. - READ_SECRET_NAME: שם לסוד שבו מאוחסן האסימון עם ההיקף
read_api. - READ_SECRET_DATA: האסימון עם ההיקף
read_api, בדומה ל-glpat-XXXXXXXXXXXXXXXX.
- API_SECRET_NAME: שם לסוד שבו מאוחסן האסימון עם ההיקף
מריצים את הפקודה
developer-connect connections createכדי ליצור חיבור לחשבון GitLab Enterprise.gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \ --gitlab-enterprise-config-host-uri=HOST_URI \ --gitlab-enterprise-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION \ --git-proxy-config-enabledמחליפים את מה שכתוב בשדות הבאים:
- CONNECTION_NAME: השם של החיבור.
- REGION: האזור של החיבור.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud.
- READ_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את האסימון עם ההיקף
read_api. - API_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את האסימון עם ההיקף
api. - VERSION: מספר הגרסה של כל סוד. אפשר להשתמש ב-
latestכדי להשתמש במספר הגרסה העדכני ביותר. - HOST_URI: ה-URI של המארח שאליו רוצים להתחבר.
- WEBHOOK_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את ה-webhook
-
--git-proxy-config-enabled: דגל אופציונלי שמאפשר ל-Developer Connect לשמש כשרת proxy לקריאות Git אל GitLab Enterprise. היכולת הזו נמצאת בגרסת טרום-השקה.
הכלי Developer Connect משלים את החיבור ל-GitLab. בשלב הבא, מקשרים למאגרי קוד.
קישור למאגרי מידע באמצעות חיבור קיים
אחרי שיוצרים חיבור ל-GitLab Enterprise, אפשר לקשר למאגרי קוד. בשלב מאוחר יותר, תוכלו לחזור על השלבים האלה כדי לקשר מאגרי מידע נוספים לפי הצורך.
כדי ליצור קישורים למאגר בחיבור קיים של GitLab Enterprise, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור קישורים למאגרי מידע, מבצעים את השלבים הבאים:
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על קישור מאגר.
נפתח החלונית Link Git repositories (קישור מאגרי Git).
ברשימת החיבורים, בוחרים חיבור.
לוחצים על Continue.
ברשימת המאגרים, בוחרים את המאגרים שרוצים לקשר.
ב-Developer Connect מוצגים שמות מוצעים למשאבי המאגר.
בוחרים אפשרות למתן שמות למשאבים במאגר:
- נוצר: שימוש בשמות של משאבי המאגר שנוצרו.
- ידני: מזינים שמות משלכם.
לוחצים על יצירה.
הכלי Developer Connect יוצר את הקישורים למאגר ומציג אותם במסוף Google Cloud .
gcloud
מריצים את הפקודה הבאה כדי לקשר למאגר GitLab:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
- REPO_NAME: השם של קישור המאגר.
- REPO_URI: הקישור למאגר, בדומה ל-
https://gitlab.com/my-project/test-repo.git. - CONNECTION_NAME: השם של החיבור.
- REGION: האזור של החיבור.
הקישורים למאגר נוצרים על ידי Developer Connect.
כדי לכלול ברשימה את המאגרים המקושרים, מריצים את הפקודה developer-connect connections git-repository-links list.
אם אתם מגדירים את Gemini Code Assist, ממשיכים בתהליך לפי השלבים במאמר הגדרה ושימוש ב-Gemini Code Assist עיגון בקוד של הארגון.
המאמרים הבאים
- משלימים את ההגדרה של עיגון בקוד של הארגון ב-Gemini Code Assist
- איך Gemini Code Assist עוזר לכם להאיץ את פיתוח התוכנה
- אפשר לעיין בשילובים אחרים שזמינים דרך Developer Connect.