יצירה ושכפול של מאגר

יוצרים מאגר ב-Secure Source Manager ומשכפלים אותו למחשב המקומי.

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

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

  3. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת?

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

    gcloud init

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

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

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

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

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

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

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

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

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

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

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

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

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

הגדרת פרטי הכניסה

כדי להוסיף את כלי העזר לאימות של Secure Source Manager להגדרות הגלובליות של Git, מריצים את הפקודה הבאה:

Linux

git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh

יכול להיות שגרסאות קודמות של Git לא תומכות בתווים כלליים לחיפוש. כדי להוסיף את כלי העזר לאימות בלי תווים כלליים לחיפוש, מריצים את הפקודה הבאה:

git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh

Windows

git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd

יכול להיות שגרסאות קודמות של Git לא תומכות בתווים כלליים. כדי להוסיף את כלי העזר לאימות בלי תווים כלליים לחיפוש, מריצים את הפקודה הבאה:

git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd

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

  • INSTANCE_ID בשם של המכונה של Secure Source Manager.
  • ‫PROJECT_NUMBER במספר הפרויקט. במאמר זיהוי פרויקטים מוסבר איך למצוא את מספר הפרויקט.
  • ‫LOCATION באזור של המכונה. למידע נוסף על אזורים, קראו את המאמר מיקומים.

כלי העזר לאימות משתמש ב-CLI של gcloud כדי לאחזר את פרטי הכניסה שלכם ל-Google Cloud כשאתם משתמשים בפקודות Git עם Secure Source Manager.

כדי לבצע אימות מחדש אחרי ההגדרה הראשונית של פרטי הכניסה, מריצים את הפקודה הבאה ב-CLI של gcloud:

gcloud auth login

שכפול מאגר

  1. בממשק האינטרנט של Secure Source Manager, עוברים לדף המאגר.

  2. מעתיקים את כתובת ה-URL מסוג HTTPS שמופיעה בחלק העליון של דף המאגר.

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

    git clone REPOSITORY_URL
    

    כאשר REPOSITORY_URL היא כתובת ה-URL מסוג HTTPS שמוצגת בחלק העליון של דף המאגר שרוצים לשכפל.

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

דחיפה למאגר

  1. בחלון הטרמינל, עוברים לספרייה של המאגר המשוכפל.

    cd REPOSITORY_NAME
    

    ‫REPOSITORY_NAME הוא שם המאגר.

  2. יוצרים קובץ README ריק:

    touch README.md
    
  3. מוסיפים את הקובץ README ל-Git ויוצרים הודעת commit:

    git add README.md
    git commit -m "initial commit"
    
  4. דוחפים את השינויים למאגר המרוחק:

    git push -u origin main
    

    ‫Git מעביר את הקובץ מהענף הראשי למקור המרוחק. הפלט אמור להיראות כך:

    Enumerating objects: 3, done.
    Counting objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 211 bytes | 211.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    remote: . Processing 1 references
    remote: Processed 1 references in total
    To https://instance-id-123456789012-git.us-central1.sourcemanager.dev/my-project/my-repo.git
    * [new branch]      main -> main
    branch 'main' set up to track 'origin/main'.
    

הצגת הקבצים ב-Secure Source Manager

בממשק האינטרנט של Secure Source Manager, לוחצים על שם המאגר.

דף המאגר ייפתח וקובץ ה-README.md שלכם יופיע בכרטיסייה <> Code.

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה:

לפני שאתם מסירים את המאגר, ודאו שכל הקבצים שאתם רוצים לשמור זמינים במיקום אחר.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט ב-Google Cloud שבו פועל Secure Source Manager.
  • ‫LOCATION: האזור שבו נמצאת המכונה. למידע על מיקומים נתמכים, ראו מיקומים.
  • ‫REPOSITORY_ID: מזהה המאגר.

ה-method של ה-HTTP וכתובת ה-URL:

DELETE https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

"name":"operations/cc3ea26c-9b57-11ed-be0a-2e3b5910efef","metadata":{"@type":"type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata","createTime":"2023-01-23T19:54:49.904779921Z","endTime":"2023-01-23T19:54:50.947030402Z","target":"projects/my-project/locations/us-central1/repositories/my-repo","verb":"delete","apiVersion":"v1"},"done":true,"response":{"@type":"type.googleapis.com/google.protobuf.Empty"}
```

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

{"name":"operations/cc3ea26c-9b57-11ed-be0a-2e3b5910efef","metadata":{"@type":"type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata","createTime":"2023-01-23T19:54:49.904779921Z","endTime":"2023-01-23T19:54:50.947030402Z","target":"projects/my-project/locations/us-central1/repositories/my-repo","verb":"delete","apiVersion":"v1"},"done":true,"response":{"@type":"type.googleapis.com/google.protobuf.Empty"}

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