התחברות ל-GitLab

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

ההוראות האלה מיועדות למפתחי אפליקציות, לאדמינים של פלטפורמות ולמנהלי אבטחה שרוצים להשתמש במאגרי קוד מקור של GitLab עם Google. באופן ספציפי, אתם יכולים להשתמש במאגרי GitLab עם 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.

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

  10. צריך לוודא שאתם הבעלים של מאגר GitLab, או שיש לכם הרשאות ברמת האדמין במאגר משותף.
  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
              

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות ליצירת חיבורים וקישורים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-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. אם אתם משתמשים במסוף Google Cloud , תוכלו גם להתחיל להוסיף קישורים למאגרי מידע אחרי שתסיימו להגדיר את החיבור.

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

המסוף

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

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

    כניסה אל Developer Connect

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

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

      ייפתח הדף Create Connection.

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

    1. בשדה Name (שם), מזינים שם לקישור החדש.
  3. בקטע Access Tokens, מזינים את הטוקנים של החשבון:

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

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

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

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

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

  5. לוחצים על 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:

    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 קיים, בוחרים באחת מהאפשרויות הבאות:

המסוף

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

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

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