ההוראות האלה מיועדות למפתחי אפליקציות, לאדמינים של פלטפורמות ולמנהלי אבטחה שרוצים להשתמש במאגרי קוד מקור של Bitbucket Data Center עם Google. באופן ספציפי, אתם יכולים להשתמש במאגרי Bitbucket Data Center עם 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, Secret Manager, and Service Directory APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, Secret Manager, and Service Directory APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
מוודאים שיש לכם גישה לחשבון ב-Bitbucket Data Center.
כדי לשמור על אבטחת העבודה של הצוות, מומלץ לבצע את המשימות במדריך הזה באמצעות חשבון בוט או חשבון משותף לצוות, ולא באמצעות חשבון אישי.
- חשוב לוודא שיש לכם מאגר Bitbucket Data Center משלכם, או שיש לכם הרשאות אדמין במאגר משותף.
- מוודאים שיש לכם משאב שירות של 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 בעבר, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר של
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת חיבורים וקישורים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
אם אתם לא הבעלים של הפרויקט:
אדמין של Developer Connect (
roles/developerconnect.admin) בחשבון המשתמש שלכם. -
אם אתם מתכננים להשתמש ב-CMEK כדי להצפין את הסודות שנוצרים על ידי Developer Connect:
Cloud KMS CryptoKey Encrypter/Decrypter (
roles/cloudkms.cryptoKeyEncrypterDecrypter) בחשבון השירות של Secret Manager. -
אם אתם מתכננים להשתמש ב-CLI של gcloud כדי לבצע את השלבים במדריך הזה:
התפקיד 'אדמין של Secret Manager' (
roles/secretmanager.admin) בחשבון השירות של Developer Connect. -
אם אתם מתכננים להשתמש במסוף Google Cloud כדי לבצע את השלבים במדריך הזה:
אדמין IAM של פרויקט (
roles/resourcemanager.projectIamAdmin) בחשבון המשתמש שלכם.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הקצאת הרשאות לשימוש בספריית השירותים
כדי לאפשר ל-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 של המארח. כשיוצרים נקודת קצה (endpoint), אפשר להשתמש במאזן עומסים פנימי מסוג HTTPS או במאזן עומסים פנימי מסוג TCP.
כשיוצרים מאזן עומסים מסוג TCP, כדאי לקחת בחשבון את הנקודות הבאות:
- כדי להגיע למארח, נדרשת רק קבוצת נקודות קצה ברשת (NEG) עם קישוריות היברידית.
- מאזן העומסים של TCP לא דורש את המפתח הפרטי הלא מוצפן של אישור ה-SSL.
- בהגדרת Cloud VPN צריך להשתמש ב-Cloud Router עם ניתוב דינמי גלובלי. אם Cloud VPN משתמש בניתוב סטטי, אתם יכולים להשתמש ב-proxy שמשתמש ב-Cloud Service Mesh במקום זאת. מידע נוסף זמין במאמר בנושא הגדרת שירותים של קצה הרשת לפריסות היברידיות.
מידע נוסף על יצירת מאזן עומסים ב-HTTPS זמין במאמר הגדרה של מאזן עומסים פנימי לאפליקציות עם קישוריות היברידית. מידע נוסף על יצירת מאזן עומסים מסוג TCP זמין במאמר בנושא הגדרת מאזן עומסי רשת אזורי פנימי מסוג TCP Proxy עם קישוריות היברידית.
יצירת טוקנים של גישה
כדי ליצור אסימוני גישה אישית ב-Bitbucket Data Center, מבצעים את השלבים הבאים:
פועלים לפי ההוראות במסמכי התיעוד של Bitbucket Data Center כדי ליצור שני אסימוני גישה מסוג HTTP ולהעניק את היקפי ההרשאות הבאים.
Developer Connect תומך בטוקנים של גישה למשתמשים, לפרויקטים ולמאגרים.
- יוצרים טוקן אחד עם היקף ההרשאה
repository admin. ב-Developer Connect, הטוקן הזה נקרא טוקן גישת אדמין. - יוצרים טוקן אחד עם היקף ההרשאות
repository read. ב-Developer Connect, הטוקן הזה נקרא read access token.
אתם אחראים לניהול משך החיים של טוקנים של Bitbucket Data Center ב-Bitbucket Data Center. כדי להגן על קוד המקור, אפשר להגדיר תאריך תפוגה במהלך יצירת האסימון. אם לא מגדירים תאריך תפוגה, האסימון נשאר בתוקף עד שמבטלים אותו ב-Bitbucket Data Center.
- יוצרים טוקן אחד עם היקף ההרשאה
מעתיקים את אסימוני הגישה כדי להשתמש בהם בהמשך התהליך.
יצירת חיבור
בקטע הזה מוסבר איך ליצור חיבור בין Developer Connect לבין Bitbucket Data Center. אם אתם משתמשים במסוף Google Cloud , תוכלו גם להתחיל להוסיף קישורים למאגרי מידע אחרי שתסיימו להגדיר את החיבור.
כדי ליצור חיבור חדש ל-Bitbucket Data Center, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור חיבור, מבצעים את השלבים הבאים:
פותחים את Developer Connect במסוף Google Cloud .
בדף Git repositories (מאגרי Git) ב-Developer Connect.
- אם מוצגת רשימה של ספקי ניהול קוד מקור: בוחרים ספק ניהול קוד מקור כדי להתחיל להגדיר את החיבור הראשון. לוחצים על Connect (התחברות) בכרטיס Bitbucket Data Center.
אם מוצגת טבלה עם רשימה של חיבורים קיימים: מגדירים את ספק ניהול קוד המקור על ידי לחיצה על יצירת חיבור > Bitbucket Data Center.
ייפתח הדף Create Connection.
בשדה Region, בוחרים אזור למשאבי החיבור.
- בשדה Name (שם), מזינים שם לחיבור החדש.
בקטע Access Tokens (אסימוני גישה), מזינים את אסימוני הגישה של Bitbucket Data Center:
טוקן גישה לאדמין: מזינים את הטוקן עם גישת היקף אדמין למאגר.
טוקן גישה לקריאה: מזינים את הטוקן עם גישת היקף לקריאת המאגר.
בשדה כתובת ה-URL של המארח, מזינים את כתובת ה-URL של המארח שאליו רוצים להתחבר.
לוחצים על הצגת עוד כדי לראות הגדרות אופציונליות.
תיבת הסימון Enable Developer Connect proxy (הפעלת שרת proxy של Developer Connect) מסומנת כברירת מחדל, כדי ש-Developer Connect יוכל לפעול כשרת proxy לקריאות Git אל Bitbucket Data Center.
בקטע Networking, עבור סוג הרשת, בוחרים באפשרות Private network.
בקטע CA Certificate (אישור CA), לוחצים על Browse (עיון) כדי להעלות את האישור בחתימה עצמית.
גודל האישור לא יכול להיות יותר מ-10KB והוא צריך להיות בפורמט PEM (.pem, .cer או .crt). אם הקטע הזה יישאר ריק, המערכת תשתמש במקום זאת בקבוצת אישורים שמוגדרת כברירת מחדל.
בקטע Service Directory service בוחרים את המיקום של השירות:
- בפרויקט
your-project - בפרויקט אחר
- הזנה ידנית
אם בוחרים באפשרות בפרויקט אחר או באפשרות הזנה ידנית, מציינים את מזהה הפרויקט Google Cloud . בוחרים את הפרויקט מהתפריט הנפתח או מזינים את מזהה הפרויקט באופן ידני.
- בפרויקט
אזור: בוחרים את האזור של שירות מדריך השירותים. האזור שצוין לשירות חייב להיות זהה לאזור שמשויך לחיבור.
מרחב שמות: בוחרים את מרחב השמות של שירות Service Directory.
שירות: בוחרים את שם השירות של Service Directory במרחב השמות.
אופציונלי: בקטע Encryption, בוחרים מפתח CMEK כדי להצפין סודות של Secret Manager שנוצרו על ידי Developer Connect.
לוחצים על הלחצן המשך. מערכת Developer Connect יוצרת את החיבור. התהליך הזה יכול להימשך כמה שניות.
אחרי שיוצרים את הקישור, מופיע הדף 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 ADMIN_SECRET_NAME echo -n ADMIN_SECRET_DATA | gcloud secrets versions add ADMIN_SECRET_NAME --data-file=- gcloud secrets create READ_SECRET_NAME echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-מחליפים את מה שכתוב בשדות הבאים:
- ADMIN_SECRET_NAME: שם לסוד שבו מאוחסן אסימון הגישה של האדמין.
- ADMIN_SECRET_DATA: אסימון הגישה של האדמין.
- READ_SECRET_NAME: שם הסוד שבו מאוחסן אסימון הגישה לקריאה.
- READ_SECRET_DATA: אסימון הגישה לקריאה.
מריצים את הפקודה
gcloud developer-connect connections createכדי ליצור חיבור ל-Bitbucket Data Center:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --bitbucket-data-center-config-host-uri=HOST_URI \ --bitbucket-data-center-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/ADMIN_SECRET_NAME/versions/VERSION \ --bitbucket-data-center-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --bitbucket-data-center-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION \ --git-proxy-config-enabledמחליפים את מה שכתוב בשדות הבאים:
- CONNECTION_NAME: שם לחיבור.
- REGION: האזור שבו יש להשתמש לחיבור.
- HOST_URI: ה-URI של המארח של Bitbucket Data Center, כולל הקידומת
https://. - PROJECT_ID: מזהה הפרויקט ב- Google Cloud.
- ADMIN_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את אסימון הגישה של האדמין.
- READ_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את אסימון הגישה לקריאה.
- WEBHOOK_SECRET_NAME: השם של הסוד ב-Secret Manager שמכיל את הסוד של ה-webhook.
- VERSION: מספר הגרסה של כל סוד. אפשר להשתמש ב-
latestכדי להשתמש במספר הגרסה העדכני ביותר. -
--git-proxy-config-enabledהוא דגל אופציונלי שמאפשר ל-Developer Connect לשמש כשרת proxy לקריאות Git אל Bitbucket Data Center. צריך להפעיל את התכונה הזו כשמריצים עיגון בקוד של הארגון ב-Gemini Code Assist במאגרי המקורות של הקוד של Bitbucket Data Center שמתארחים ברשתות פרטיות. -
--github-enterprise-config-ssl-ca-certificateהוא דגל אופציונלי להוספת אישור SSL, בפורמט$HOME/my-ssl-ca.txt.
Developer Connect משלים את החיבור אל Bitbucket Data Center. בשלב הבא, מקשרים למאגרי קוד.
קישור למאגרי מידע באמצעות חיבור קיים
אחרי שיוצרים חיבור ל-Bitbucket Data Center, אפשר לקשר מאגרי מידע. אפשר לחזור על השלבים האלה מאוחר יותר כדי לקשר מאגרי מידע נוספים לפי הצורך.
כדי ליצור קישורים למאגר בחיבור קיים ל-Bitbucket Data Center, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי ליצור קישורים למאגרי מידע, מבצעים את השלבים הבאים:
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על קישור המאגר.
נפתחת החלונית Link Git repositories (קישור מאגרי Git).
ברשימת החיבורים, בוחרים חיבור.
לוחצים על Continue.
ברשימת המאגרים, בוחרים את המאגרים שרוצים לקשר.
לוחצים על יצירה.
Developer Connect יוצר את הקישורים למאגר ומציג אותם במסוף Google Cloud .
gcloud
כדי ליצור קישור למאגר שלכם ב-Bitbucket Data Center, מריצים את הפקודה הבאה:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
- REPO_NAME: שם לקישור החדש בין Developer Connect לבין מאגר Bitbucket Data Center.
- REPO_URI: כתובת ה-URL של המאגר ב-Bitbucket Data Center, כולל הקידומת
https://והסיומת.git. - CONNECTION_NAME: השם של החיבור ל-Bitbucket Data Center.
- REGION: האזור של החיבור.
קישורי המאגר נוצרים על ידי Developer Connect.
כדי להציג רשימה של מאגרים מקושרים, מריצים את הפקודה developer-connect connections git-repository-linkslist.
אם אתם מגדירים את Gemini Code Assist, ממשיכים בתהליך לפי השלבים במאמר הגדרה ושימוש ב-Gemini Code Assist עיגון בקוד של הארגון.
המאמרים הבאים
- משלימים את ההגדרה של עיגון בקוד של הארגון ב-Gemini Code Assist
- איך Gemini Code Assist עוזר לכם להאיץ את פיתוח התוכנה
- אפשר לעיין בשילובים אחרים שזמינים דרך Developer Connect.