יצירת מאגר

בדף הזה מוסבר איך ליצור מאגר באמצעות ממשק האינטרנט של Secure Source Manager או Secure Source Manager API.

אם עדיין לא יצרתם מופע של Secure Source Manager, תוכלו לקרוא את המאמר יצירת מופע של Secure Source Manager כדי להתחיל.

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

  1. יוצרים מופע של Secure Source Manager או מבקשים גישה למופע קיים. מידע נוסף זמין במאמר יצירת מופע של Secure Source Manager.
  2. התקינו את ה-CLI של Google Cloud.

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. מתקינים את הרכיב beta Google Cloud CLI:
    gcloud components install alpha

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

כדי לקבל את ההרשאות שדרושות ליצירת מאגר, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

במאמרים בקרת גישה באמצעות IAM והענקת גישה של משתמשים למופע מוסבר איך נותנים תפקידים ב-Secure Source Manager.

יצירת מאגר

ממשק אינטרנט

  1. כדי לגשת למופע של Secure Source Manager דרך ממשק האינטרנט שלו, מעתיקים את כתובת ה-URL הבאה לסרגל הכתובות בדפדפן.

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE_ID בשם המכונה.
    • PROJECT_NUMBER עם מספר הפרויקט של המופע Google Cloud. מידע על זיהוי פרויקטים זמין במאמר זיהוי פרויקטים.
    • LOCATION עם האזור של המכונה.

  2. במקרה הצורך, מאמתים באמצעות פרטי הכניסה של Secure Source Manager.

  3. לוחצים על הסמל + יצירת מאגר חדש בפינה השמאלית העליונה של תפריט הניווט.

  4. ממלאים את פרטי המאגר:

    1. מזהה המאגר: מזינים שם למאגר.

    2. תיאור: אופציונלי. תיאור המאגר.

    3. Default branch: השם של ענף ברירת המחדל.

    4. Initialize repository (הפעלת מאגר): אופציונלי. בוחרים באפשרות הזו אם רוצים לאתחל את המאגר ולהוסיף קבצים מסוג ‎ .gitignore, רישיון ו-README.

    5. .gitignore: אופציונלי. בוחרים אילו קבצים לא לעקוב אחריהם באמצעות התבניות בתפריט הנפתח.

    6. license: אופציונלי. בוחרים רישיון נפוץ מהתפריט הנפתח.

  5. לוחצים על יצירת מאגר.

gcloud

  1. כדי ליצור מאגר באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:

    gcloud source-manager repos create REPOSITORY_ID \
        --region=LOCATION \
        --project=PROJECT_ID \
        --instance=INSTANCE_ID \
        --description=DESCRIPTION \
        --default-branch=BRANCH \
        --gitignores=GITIGNORES \
        --license=LICENSE \
        --readme=README
    

    מחליפים את מה שכתוב בשדות הבאים:

    • REPOSITORY_ID בשם של המאגר.

    • LOCATION באזור שבו רוצים ליצור את המאגר. מידע על מיקומים נתמכים זמין במאמר מיקומים.

    • PROJECT_ID במזהה הפרויקט של מופע Secure Source Manager שבו רוצים ליצור את המאגר.

    • INSTANCE_ID עם מזהה המכונה של המכונה שבה אתם יוצרים את המאגר. כדי לראות את רשימת המופעים של Secure Source Manager בפרויקט, אפשר לעיין במאמר בנושא הצגה של רשימת מופעים.

    • DESCRIPTION עם תיאור של המאגר. הפעולה הזו אופציונלית ואפשר לדלג עליה.

    • BRANCH בשם ברירת המחדל של הענף. השדה הזה אופציונלי ואפשר להשמיט אותו. אם לא מגדירים שם ענף, ברירת המחדל היא main.

    • GITIGNORES עם רשימה מופרדת בפסיקים של שמות תבניות של gitignore. הפעולה הזו אופציונלית ואפשר לדלג עליה. רשימה מלאה של התבניות הזמינות

    • LICENSE בשם תבנית הרישיון שרוצים להחיל על המאגר. הפעולה הזו אופציונלית ואפשר לדלג עליה. לרשימה המלאה של תבניות הרישיון הזמינות

    • README עם default כדי ליצור קובץ README מהתבנית שמוגדרת כברירת מחדל. הפעולה הזו אופציונלית ואפשר לדלג עליה. אם לא מציינים קובץ README, הוא לא נוצר.

API

  1. כדי ליצור מאגר באמצעות קריאה ל-REST, מריצים את הפקודה הבאה:

    curl \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories?repository_id=REPOSITORY_ID \
        -d '{"instance": "projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • REGION הוא האזור של מופע Secure Source Manager. מידע על מיקומים נתמכים זמין במאמר מיקומים.
    • INSTANCE_ID הוא מזהה המופע של Secure Source Manager.
    • PROJECT_ID הוא מזהה הפרויקט של מופע Secure Source Manager. במאמר איפה מוצאים את מזהה הפרויקט מוסבר איפה אפשר למצוא את מזהה הפרויקט.
    • REPOSITORY_ID הוא השם של המאגר.

    אפשר לציין ערכים נוספים באמצעות דגל הנתונים של HTTP POST, -d'{}' כולל אתחול המאגר, הוספה של קובץ ספציפי .gitignore או רישיונות. מידע נוסף מופיע במאמרי העזרה.

    אם רוצים שהפלט יהיה קריא לאנשים, אפשר להעביר אותו ל-JSON באמצעות json_pp.

    לדוגמה:

    curl \
        -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://securesourcemanager.googleapis.com/v1/projects/my-project-id/locations/us-central1/repositories?repository_id=my-repo \
        -d '{"instance": "projects/my-project-id/locations/us-central1/instances/prod-test-instance", "initialConfig":{"defaultBranch":"main"}}' | json_pp
    

    התגובה תיראה כך:

    {
      "name": "operations/266bf4c7-13fe-11ed-be24-da823b7355d0",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
        "createTime": "2022-08-04T14:02:59.810496928Z",
        "endTime": "2022-08-04T14:03:00.558354528Z",
        "target": "projects/654987321654/locations/us-central1/repositories/my-repo",
        "verb": "create",
        "apiVersion": "v1"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Repository",
        "name": "projects/my-project-id/locations/us-central1/repositories/my-repo",
        "instance": "projects/654987321654/locations/us-central1/instances/prod-test-instance",
        "createTime": "2022-08-04T14:03:00Z",
        "uris": {
          "html": "https://prod-test-instance-654987321654.us-central1.sourcemanager.dev/my-project-id/my-repo",
          "gitHttps": "https://prod-test-instance-654987321654-git.us-central1.sourcemanager.dev/my-project-id/my-repo.git"
        }
    }
    

    כאשר:

    • 654987321654 הוא מספר הפרויקט של המאגר.
    • my-project-id הוא מזהה הפרויקט של המאגר.
    • my-repo הוא REPOSITORY_ID שהגדרתם בפקודת היצירה. השדה uris מכיל את כתובות ה-URL לגישה למאגר באמצעות דפדפן אינטרנט או באמצעות גישת HTTPS לפרוטוקול Git.
  2. ניגשים למאגר החדש באמצעות ה-URI של ה-HTML בתשובה. בממשק האינטרנט של Secure Source Manager יש תמיכה בבדיקת קוד, במעקב אחר בעיות ובבקשות למשיכת קוד.

המאגר נוצר במופע של Secure Source Manager.

התפקיד Repo Admin (אדמין מאגר) (roles/securesourcemanager.repoAdmin) מוקצה לכם כשאתם יוצרים מאגר חדש. יכול להיות שיחלפו עד 2 דקות עד שההרשאה החדשה ב-IAM תתעדכן, לכן אם מופיעה שגיאת הרשאות כשמנסים לגשת למאגר אחרי שהוא נוצר, כדאי לחכות כמה דקות ולנסות שוב.

מאגרי המידע שיצרתם מופיעים בממשק האינטרנט של Secure Source Manager בדף My repositories (מאגרי המידע שלי).

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