ההוראות האלה מיועדות למפתחי אפליקציות, לאדמינים של פלטפורמות ולמנהלי אבטחה שרוצים להשתמש במאגרי קוד מקור של GitLab עם Google. באופן ספציפי, אתם יכולים להשתמש במאגרי GitLab עם 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.
כדי לשמור על אבטחת העבודה של הצוות, מומלץ לבצע את המשימות במדריך הזה באמצעות חשבון שירות או חשבון משותף של הצוות, ולא באמצעות חשבון אישי.
- צריך לוודא שאתם הבעלים של מאגר GitLab, או שיש לכם הרשאות ברמת האדמין במאגר משותף.
- אופציונלי: יוצרים מפתח הצפנה בניהול הלקוח (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 הבאים:
-
אם אתם לא הבעלים של הפרויקט:
אדמין של 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. אם אתם משתמשים במסוף Google Cloud , תוכלו גם להתחיל להוסיף קישורים למאגרי מידע אחרי שתסיימו להגדיר את החיבור.
כדי ליצור חיבור חדש ל-GitLab, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור חיבור, מבצעים את השלבים הבאים:
פותחים את Developer Connect במסוף Google Cloud .
בדף מאגרי Git ב-Developer Connect.
- אם מוצגת רשימה של ספקי ניהול קוד מקור: בוחרים ספק ניהול קוד מקור כדי להגדיר את החיבור הראשון. לוחצים על Connect (חיבור) בכרטיס GitLab.
אם מוצגת טבלה עם רשימה של חיבורים קיימים: כדי להגדיר את ספק ניהול קוד המקור, לוחצים על יצירת חיבור > GitLab.
ייפתח הדף Create Connection.
בשדה Region, בוחרים אזור למשאבי הקישור.
- בשדה Name (שם), מזינים שם לקישור החדש.
בקטע Access Tokens, מזינים את הטוקנים של החשבון:
- טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף
api. - קריאת טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף
read_api.
באחריותכם לוודא שהאסימונים של GitLab נשארים בתוקף. משך החיים המקסימלי של אסימוני GitLab הוא 365 ימים, אלא אם יוצר האסימון או האדמין ציינו אחרת. מידע על ניהול הגדרות התפוגה של אסימונים והודעות זמין במסמכי התיעוד של GitLab בנושא אסימוני גישה אישיים, אסימוני גישה לקבוצות ואסימוני גישה לפרויקטים.
- טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף
לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.
אופציונלי: בקטע Encryption, בוחרים מפתח CMEK כדי להצפין סודות של Secret Manager שנוצרו על ידי Developer Connect.
אופציונלי: כברירת מחדל, Developer Connect יכול לשמש כשרת proxy לקריאות Git ל-GitLab. כדי להשבית את האפשרות הזו, מבטלים את הסימון בתיבה Enable Developer Connect proxy.
לוחצים על 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:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \ --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --gitlab-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION \ --git-proxy-config-enabledמחליפים את מה שכתוב בשדות הבאים:
- CONNECTION_NAME: שם לחיבור.
- REGION: האזור של החיבור.
- PROJECT_NAME: מזהה הפרויקט ב- Google Cloud.
- API_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את האסימון עם ההיקף
api. - READ_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את האסימון עם ההיקף
read_api. - WEBHOOK_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את הסוד של ה-webhook.
- VERSION: מספר הגרסה של כל סוד. אפשר להשתמש ב-
latestכדי להשתמש במספר הגרסה העדכני ביותר. -
--git-proxy-config-enabled: דגל אופציונלי שמאפשר ל-Developer Connect לשמש כשרת proxy לקריאות Git אל GitLab. היכולת הזו נמצאת בגרסת טרום-השקה.
הכלי Developer Connect משלים את החיבור ל-GitLab. בשלב הבא, מקשרים למאגרי קוד.
קישור למאגרי מידע באמצעות חיבור קיים
אחרי שיוצרים חיבור ל-GitLab, אפשר לקשר למאגרי מידע. בשלב מאוחר יותר, תוכלו לחזור על השלבים האלה כדי לקשר מאגרי מידע נוספים לפי הצורך.
כדי ליצור קישורים למאגר בחיבור GitLab קיים, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור קישורים למאגרי מידע, מבצעים את השלבים הבאים:
פותחים את הדף 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.