התחברות ל-GitLab Enterprise

בדף הזה מוסבר איך ליצור חיבורים ל-GitLab Enterprise ואיך ליצור קישורים למאגרי GitLab Enterprise. אפשר לבצע את המשימות האלה באמצעות מסוף Google Cloud או Google Cloud CLI.

ההוראות האלה מיועדות למפתחי אפליקציות, לאדמינים של פלטפורמות ולמנהלי אבטחה שרוצים להשתמש במאגרי קוד מקור של GitLab Enterprise עם Google. אתם יכולים להשתמש במאגרי GitLab Enterprise עם Gemini Code Assist.

מידע נוסף על Developer Connect זמין במאמר סקירה כללית של Developer Connect.

לפני שמתחילים

  1. נכנסים לחשבון Google.

    אם עדיין אין חשבון, יוצרים חשבון חדש.

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. הפעלת Developer Connect מפעילה גם את Secret Manager API.

  9. ודאו שיש לכם גישה לחשבון ב-GitLab Enterprise.

    כדי לשמור על אבטחת העבודה של הצוות, מומלץ לבצע את המשימות במדריך הזה באמצעות חשבון שירות או חשבון משותף של הצוות, ולא באמצעות חשבון אישי.

  10. צריך לוודא שאתם הבעלים של מאגר GitLab Enterprise או שיש לכם הרשאות אדמין במאגר משותף.
  11. אופציונלי: יוצרים מפתח הצפנה בניהול הלקוח (CMEK) להצפנת סודות האימות שנוצרים על ידי Developer Connect.
  12. אופציונלי: כדי להשתמש בהוראות של שורת הפקודה במדריך הזה, מבצעים את השלבים הבאים:
    1. מתקינים את Google Cloud CLI. אם כבר התקנתם את ה-CLI של gcloud בעבר, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר של gcloud components update.
    2. יוצרים חשבון שירות של Developer Connect על ידי הרצת הפקודה הבאה, כש-PROJECT_ID הוא Google Cloud מזהה הפרויקט:
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

דרישות למארחים

אם לא התקנתם מופע של 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, צריך לבצע את השלבים הבאים:

  1. נכנסים ל-GitLab.

  2. פועלים לפי ההוראות בתיעוד של GitLab כדי ליצור אסימוני גישה אישיים, אסימוני גישה לקבוצות או אסימוני גישה לפרויקטים עם ההרשאות הבאות:

    • טוקן אחד עם היקף api לחיבור ולניתוק מאגרי מידע.
    • טוקן אחד עם היקף read_api כדי לאפשר ל-Developer Connect לקרוא קוד מקור במאגרים שלכם.
    • באסימוני גישה לקבוצות ובאסימוני גישה לפרויקטים, האסימונים צריכים להיות ברמת הרשאה Maintainer (תחזוקה) או גבוהה יותר.

יצירת חיבור

בקטע הזה מוסבר איך ליצור חיבור בין Developer Connect לבין GitLab Enterprise. אם אתם משתמשים במסוף Google Cloud , תוכלו גם להתחיל להוסיף קישורים למאגרי מידע אחרי שתסיימו להגדיר את החיבור.

כדי ליצור חיבור חדש ל-GitLab Enterprise, בוחרים באחת מהאפשרויות הבאות:

המסוף

כדי ליצור חיבור, מבצעים את השלבים הבאים:

  1. פותחים את Developer Connect במסוף Google Cloud .

    כניסה אל Developer Connect

    בדף מאגרי Git ב-Developer Connect.

    • אם מוצגת רשימה של ספקי ניהול קוד מקור: בוחרים ספק ניהול קוד מקור כדי להגדיר את החיבור הראשון. לוחצים על Connect (חיבור) בכרטיס GitLab Enterprise.
    • אם מופיעה טבלה עם רשימה של קישורים קיימים: כדי להגדיר את ספק ניהול קוד המקור, לוחצים על יצירת קישור > GitLab Enterprise.

      ייפתח הדף Create Connection.

  2. בשדה Region, בוחרים אזור למשאבי הקישור.

    1. בשדה Name (שם), מזינים שם לקישור החדש.
  3. בקטע כתובת ה-URL של המארח, מזינים את כתובת ה-URL של המארח שאליו רוצים להתחבר.

  4. בקטע Access Tokens, מזינים את הטוקנים של החשבון:

    • טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף api.
    • קריאת טוקן גישה ל-API: מזינים את טוקן הגישה עם היקף read_api.

    באחריותכם לוודא שהאסימונים של GitLab נשארים בתוקף. משך החיים המקסימלי של אסימוני GitLab הוא 365 ימים, אלא אם יוצר האסימון או האדמין ציינו אחרת. מידע על ניהול הגדרות התפוגה של אסימונים והודעות זמין במסמכי התיעוד של GitLab בנושא אסימוני גישה אישיים, אסימוני גישה לקבוצות ואסימוני גישה לפרויקטים.

  5. לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.

    1. אופציונלי: כברירת מחדל, Developer Connect יכול לשמש כשרת proxy לקריאות Git אל GitLab Enterprise. כדי להשבית את האפשרות הזו, מבטלים את הסימון בתיבה Enable Developer Connect proxy.

    2. בקטע סוג הרשת, בוחרים באפשרות אינטרנט ציבורי.

      אם רוצים להשתמש ברשת פרטית, אפשר לעיין במאמר התחברות למאגרי GitLab Enterprise שמתארחים ברשת פרטית.

    3. אופציונלי: בקטע Encryption, בוחרים מפתח CMEK כדי להצפין סודות של Secret Manager שנוצרו על ידי Developer Connect.

  6. לוחצים על Continue.

אחרי שיוצרים את הקישור, מופיע הדף Link repositories (קישור מאגרי מידע).

כדי לקשר מאגרי מידע לחיבור:

  1. ברשימת המאגרים הזמינים, בוחרים את המאגרים שרוצים להשתמש בהם.

  2. לוחצים על OK.

  3. לוחצים על קישור.

החיבור שלכם נוסף לדף חיבורים, והקישורים למאגרים שלכם נוספים לדף מאגרים במסוף Google Cloud . תמיד אפשר להוסיף עוד קישורים לחיבורים קיימים.

אם אתם מגדירים את Gemini Code Assist, ממשיכים בתהליך לפי השלבים במאמר הגדרה ושימוש ב-Gemini Code Assist עיגון בקוד של הארגון.

gcloud

  1. כדי ליצור סוד של webhook ב-Secret Manager, מריצים את הפקודה הבאה, כש-WEBHOOK_SECRET_NAME הוא שם הסוד של ה-webhook:

         cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAME
    
  2. כדי לאחסן את אסימוני הגישה ב-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.
  3. מריצים את הפקודה 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, בוחרים באחת מהאפשרויות הבאות:

המסוף

כדי ליצור קישורים למאגרי מידע, מבצעים את השלבים הבאים:

  1. פותחים את הדף Repositories במסוף Google Cloud .

    פותחים את הדף Repositories

  2. לוחצים על קישור מאגר.

    נפתח החלונית Link Git repositories (קישור מאגרי Git).

  3. ברשימת החיבורים, בוחרים חיבור.

  4. לוחצים על Continue.

  5. ברשימת המאגרים, בוחרים את המאגרים שרוצים לקשר.

    ב-Developer Connect מוצגים שמות מוצעים למשאבי המאגר.

  6. בוחרים אפשרות למתן שמות למשאבים במאגר:

    • נוצר: שימוש בשמות של משאבי המאגר שנוצרו.
    • ידני: מזינים שמות משלכם.
  7. לוחצים על יצירה.

הכלי 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 עיגון בקוד של הארגון.

המאמרים הבאים