אם עדיין לא יצרתם מופע של Secure Source Manager, תוכלו לקרוא את המאמר יצירת מופע של Secure Source Manager כדי להתחיל.
לפני שמתחילים
- יוצרים מופע של Secure Source Manager או מבקשים גישה למופע קיים. מידע נוסף זמין במאמר יצירת מופע של Secure Source Manager.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init - מתקינים את הרכיב
betaGoogle Cloud CLI:gcloud components install alpha
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מאגר, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- התפקיד 'יצירת מאגרים במופע Secure Source Manager' (
roles/securesourcemanager.instanceRepositoryCreator) במופע Secure Source Manager - התפקיד Secure Source Manager Repo Creator (
roles/securesourcemanager.repoCreator) בפרויקט של המופע
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
במאמרים בקרת גישה באמצעות IAM והענקת גישה של משתמשים למופע מוסבר איך נותנים תפקידים ב-Secure Source Manager.
יצירת מאגר
ממשק אינטרנט
-
כדי לגשת למופע של Secure Source Manager דרך ממשק האינטרנט שלו, מעתיקים את כתובת ה-URL הבאה לסרגל הכתובות בדפדפן.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devמחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_ID בשם המכונה.
- PROJECT_NUMBER עם מספר הפרויקט של המופע Google Cloud. מידע על זיהוי פרויקטים זמין במאמר זיהוי פרויקטים.
- LOCATION עם האזור של המכונה.
במקרה הצורך, מאמתים באמצעות פרטי הכניסה של Secure Source Manager.
בתפריט הניווט, לוחצים על הסמל + Create new repository (יצירת מאגר חדש).
ממלאים את פרטי המאגר:
מזהה המאגר: מזינים שם למאגר.
תיאור: אופציונלי: מזינים תיאור של המאגר.
Default branch: השם של ענף ברירת המחדל.
חשבון שירות: אופציונלי: מזינים את חשבון השירות שאותו רוצים לשייך למאגר. חשבון השירות הזה שמשתמש מנהל משמש לשילובים כמו Cloud Build. מידע נוסף זמין במאמר איך מתחברים ל-Cloud Build.
Initialize repository (הפעלת מאגר): אופציונלי: בוחרים באפשרות הזו אם רוצים להפעיל את המאגר ולהוסיף קבצים מסוג .gitignore, רישיון ו-README.
.gitignore: אופציונלי: בוחרים אילו קבצים לא לעקוב אחריהם באמצעות תבניות בתפריט הנפתח.
license (רישיון): אופציונלי: בוחרים רישיון נפוץ מהתפריט הנפתח.
לוחצים על יצירת מאגר.
gcloud
כדי ליצור מאגר באמצעות 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 \ --service-account=SERVICE_ACCOUNTמחליפים את מה שכתוב בשדות הבאים:
REPOSITORY_IDבשם של המאגר.
LOCATIONבאזור שבו רוצים ליצור את המאגר. מידע נוסף על מיקומים נתמכים זמין במאמר מיקומים.
PROJECT_IDבמזהה הפרויקט של מופע Secure Source Manager שבו רוצים ליצור את המאגר.
INSTANCE_IDעם מזהה המכונה של המכונה שבה אתם יוצרים את המאגר. כדי לראות את רשימת המופעים של Secure Source Manager בפרויקט, אפשר לעיין במאמר בנושא הצגה של רשימת מופעים.DESCRIPTIONעם תיאור של המאגר. הפעולה הזו אופציונלית ואפשר לדלג עליה.BRANCHבשם ברירת המחדל של הענף. השדה הזה אופציונלי ואפשר להשמיט אותו. אם לא מגדירים שם ענף, ברירת המחדל היאmain.
GITIGNORESעם רשימה מופרדת בפסיקים של שמות תבניות של gitignore. הפעולה הזו אופציונלית ואפשר לדלג עליה. רשימה מלאה של התבניות הזמינות
LICENSEבשם תבנית הרישיון שרוצים להחיל על המאגר. הפעולה הזו אופציונלית ואפשר לדלג עליה. לרשימה המלאה של תבניות הרישיון הזמינותREADMEעםdefaultכדי ליצור קובץ README מהתבנית שמוגדרת כברירת מחדל. הפעולה הזו אופציונלית ואפשר לדלג עליה. אם לא מציינים קובץ README, הוא לא נוצר.
SERVICE_ACCOUNTמחליפים בכתובת האימייל של חשבון השירות שרוצים לשייך למאגר. השדה הזה אופציונלי ואפשר להשמיט אותו.
API
כדי ליצור מאגר באמצעות קריאה ל-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", "serviceAccount": "SERVICE_ACCOUNT" }'מחליפים את מה שכתוב בשדות הבאים:
REGIONבשם האזור של מופע Secure Source Manager. מידע נוסף על מיקומים נתמכים זמין במאמר מיקומים.-
INSTANCE_IDעם מזהה המופע של Secure Source Manager. PROJECT_IDבמזהה הפרויקט של מופע Secure Source Manager. מידע נוסף על המקום שבו אפשר למצוא את מזהה הפרויקט זמין במאמר זיהוי פרויקטים.REPOSITORY_IDבשם של המאגר.-
SERVICE_ACCOUNTבכתובת האימייל של חשבון השירות שרוצים לשייך למאגר.
אפשר לציין ערכים נוספים באמצעות דגל הנתונים של 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", "serviceAccount": "my-service-account@my-project-id.iam.gserviceaccount.com", "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", "serviceAccount": "my-service-account@my-project-id.iam.gserviceaccount.com", "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.
ניגשים למאגר החדש באמצעות ה-URI של ה-HTML בתשובה. בממשק האינטרנט של Secure Source Manager יש תמיכה בבדיקת קוד, במעקב אחר בעיות ובבקשות משיכה.
המאגר נוצר במופע של Secure Source Manager.
כשיוצרים מאגר חדש, מקבלים את התפקיד 'אדמין במאגר' (roles/securesourcemanager.repoAdmin). יכול להיות שיחלפו עד 2 דקות עד שההרשאה החדשה של IAM תתעדכן. לכן, אם מופיעה שגיאת הרשאות כשמנסים לגשת למאגר אחרי שהוא נוצר, צריך להמתין כמה דקות ולנסות שוב.
מאגרי קוד שיצרתם מופיעים בממשק האינטרנט של Secure Source Manager בדף My repositories (מאגרי הקוד שלי).
עדכון מאגר
ממשק אינטרנט
- עוברים לדף המאגר בממשק האינטרנט של Secure Source Manager.
- בתפריט הניווט, לוחצים על הגדרות המאגר.
- בקטע Basic settings (הגדרות בסיסיות), מזינים את כתובת האימייל של חשבון השירות בשדה Service account (חשבון שירות).
- לוחצים על שמירת השינויים.
gcloud
כדי לעדכן את חשבון השירות של המאגר, מריצים את הפקודה הבאה:
gcloud source-manager repos update REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --service-account=SERVICE_ACCOUNTמחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY_IDבשם המאגר שרוצים לעדכן. -
LOCATIONבאזור שבו נמצא המאגר. PROJECT_IDבמזהה הפרויקט.-
SERVICE_ACCOUNTבכתובת האימייל של חשבון השירות שרוצים לשייך למאגר.
-
API
כדי לעדכן את חשבון השירות של המאגר באמצעות קריאה ל-REST, מריצים את הפקודה הבאה:
curl --request PATCH \ -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?updateMask=serviceAccount \ -d '{"serviceAccount": "SERVICE_ACCOUNT"}'מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDבמזהה הפרויקט.REGIONעם האזור.REPOSITORY_IDבמזהה המאגר.-
SERVICE_ACCOUNTמחליפים בכתובת האימייל של חשבון השירות.
המאמרים הבאים
- הענקת גישה למאגר למשתמשים
- Use Git source code management with Secure Source Manager.
- רשימה של מאגרי מידע והצגה שלהם בממשק האינטרנט של Secure Source Manager.