יצירת מאגרי מידע רגילים

מאגרים רגילים הם מאגרים של ארטיפקטים פרטיים. אתם מעלים ארטיפקטים למאגרי הארטיפקטים האלה ומורידים מהם ארטיפקטים ישירות.

בדף הזה נסביר איך ליצור מאגרי מידע רגילים ב-Artifact Registry.

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

  1. מפעילים את Artifact Registry, כולל הפעלת Artifact Registry API והתקנת Google Cloud CLI.
  2. (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
  3. אם אתם רוצים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) כדי להצפין את התוכן במאגר, אתם צריכים ליצור ולהפעיל מפתח ב-Cloud KMS עבור המאגר.

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

כדי לקבל את ההרשאות שנדרשות ליצירת מאגרי מידע, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Artifact Registry Administrator (אדמין של Artifact Registry) ‏(roles/artifactregistry.admin) בפרויקט Google Cloud . להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

יצירת מאגר רגיל

כשיוצרים מאגר, צריך להגדיר את ההגדרות הבאות שלא ניתן לשנות אחרי יצירת המאגר:

  • פורמט של פריט מידע שנוצר בתהליך פיתוח (Artifact).
  • מצב המאגר, אם יש כמה מצבים זמינים לפורמט שנבחר.

ב-Artifact Registry נאכפים אילוצים על מדיניות הארגון שמחייבים שימוש ב-CMEK להצפנת משאבים או שמגבילים את המפתחות של Cloud KMS שאפשר להשתמש בהם להגנה באמצעות CMEK.

יצירת מאגר באמצעות מסוף Google Cloud

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

    פתיחת הדף Repositories

  2. לוחצים על Create Repository (יצירת מאגר).

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

  4. בוחרים את פורמט המאגר.

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

  6. Maven בלבד: הגדרת מדיניות הגרסאות.

    1. בוחרים מדיניות גרסאות:

      • ללא – אין מדיניות גרסאות. אחסון של חבילות של גרסאות ושל תמונות מצב.
      • גרסה – חבילות שחרור לחנות בלבד.
      • Snapshot (תמונת מצב) – אחסון רק של חבילות snapshot.
    2. אם רוצים שמאגר תמונות המצב יקבל תמונות מצב לא ייחודיות שיחליפו גרסאות קיימות במאגר, בוחרים באפשרות Allow snapshot overwrites (התרת החלפה של תמונות מצב).

  7. בקטע Location Type, בוחרים את המיקום של המאגר:

    1. בוחרים את סוג המיקום: Region או Multi-Region. רשימת המיקומים משתנה בהתאם לבחירה שלכם.

    2. ברשימה Region או Multi-region, בוחרים מיקום.

    מידע על סוגי מיקומים ומיקומים נתמכים זמין במאמר מיקומי מאגרים

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

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

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

  10. בקטע Encryption, בוחרים את מנגנון ההצפנה למאגר.

    • Google-managed encryption key – הצפנת תוכן המאגר באמצעותGoogle-owned and Google-managed encryption key.
    • מפתח בניהול הלקוח – הצפנת תוכן המאגר באמצעות מפתח שאתם שולטים בו דרך Cloud Key Management Service. הוראות להגדרת מפתחות מופיעות במאמר הגדרת CMEK למאגרי מידע.

    • במאגרי Docker, ההגדרה Immutable image tags (תגי תמונה שלא ניתן לשנות) קובעת שהמאגר ישתמש בתגי תמונה שתמיד מצביעים על אותו גיבוב תמונה. משתמש עם תפקיד אדמין ב-Artifact Registry יכול לשנות את ההגדרה הזו אחרי יצירת המאגר.

      • ההגדרה הזו מושבתת כברירת מחדל. תגי תמונות ניתנים לשינוי, כלומר, יכול להיות שהתקציר של התמונה שאליה התג מצביע ישתנה.
      • אם ההגדרה הזו מופעלת, תגי התמונות הם בלתי ניתנים לשינוי. תג תמיד צריך להצביע על אותו גיבוב של תמונה. מידע נוסף על תגי קובצי אימג' שניתנים לשינוי ושאי אפשר לשנות אותם זמין במאמר בנושא גרסאות של קובצי אימג' של קונטיינרים.
  11. אם רוצים להשתמש במדיניות ניקוי כדי למחוק ארטיפקטים שלא נמצאים בשימוש, בקטע Cleanup policies (מדיניות ניקוי):

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

      • מחיקה מותנית: מחיקת ארטיפקטים על סמך תנאים שאתם מגדירים.
      • שמירה מותנית: שמירת ארטיפקטים על סמך תנאים שאתם מגדירים.
      • שמירה של הגרסאות העדכניות ביותר: שמירה של מספר מוגדר של הגרסאות העדכניות ביותר לכל חבילה.

      פרטים נוספים על מדיניות ניקוי זמינים במאמר הגדרת מדיניות ניקוי.

  12. בקטע ניתוח ארטיפקטים, בוחרים את הגדרות הסריקה של נקודות החולשה:

    • מופעל – אפשר לסרוק במאגר הזה. צריך להפעיל בפרויקט את Container Scanning API.

      החיוב מתחיל מיד כשמפעילים את Container Scanning API. אחרי שמפעילים את Container Scanning API בפרויקט, בדיקת נקודות חולשה מופעלת בכל המאגרים החדשים והקיימים. כשמעבירים תמונה ל-Artifact Registry, היא נסרקת באופן אוטומטי על ידי Artifact Analysis.

    • מושבת – מניעת סריקה במאגר הזה. אם ה-API של סריקת מאגרי נתונים מופעל בפרויקט, הסריקה ממשיכה במאגרי נתונים אחרים, והמאגר הזה לא ייכלל בסריקה.

      מידע נוסף על אפשרויות לסריקת פגיעויות מופיע במאמר בנושא הפעלה והשבתה של סריקה אוטומטית.

  13. לוחצים על יצירה.

‫Artifact Registry יוצר את המאגר ומוסיף אותו לרשימת המאגרים.

אחרי שיוצרים את המאגר:

יצירת מאגר באמצעות Google Cloud CLI

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

דירה

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=apt \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, השמות של המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

Docker

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=docker \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --immutable-tags \
      --async \
      --disable-vulnerability-scanning

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.

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

      gcloud artifacts locations list
    • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי המאגרים לא מוצפנים.
    • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם אתם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

      • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
      • KMS-LOCATION: המיקום של המפתח.
      • KEY-RING: השם של אוסף המפתחות.
      • KEY: השם של המפתח.
    • --immutable-tags הוא דגל אופציונלי שמגדיר את המאגר כך שישתמש בתגים שתמיד מצביעים על אותו גיבוב של תמונה.

      כברירת מחדל, אם לא מעבירים את הדגל --immutable-tags, אפשר להעביר תג ל-digest של תמונה אחרת. מידע נוסף על תגי קובץ אימג' שאי אפשר לשנות ותגי קובץ אימג' שאפשר לשנות זמין במאמר גרסאות של קובץ אימג' של קונטיינר.

    • --async חוזרת באופן מיידי, בלי להמתין שהפעולה תסתיים.

    • --disable-vulnerability-scanning: דגל אופציונלי שמגדיר את המאגר להשבתת הסריקה האוטומטית של נקודות חולשה.
    • --allow-vulnerability-scanning: דגל אופציונלי שמאפשר להגדיר את המאגר כך שתתבצע בו סריקה אוטומטית של נקודות חולשה. מידע נוסף מופיע במאמר הפעלה או השבתה של סריקה אוטומטית.

גנרי

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=generic \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

Go

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=go \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, השמות של המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

KubeFlow Pipelines

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=kfp \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

Maven

כברירת מחדל, מאגרי Maven מאחסנים גרסאות snapshot וגרסאות release של חבילות. אתם יכולים לציין מדיניות גרסאות כדי ליצור תמונת מצב או מאגר גרסאות.

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

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=maven \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

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

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=maven \
      [--location=LOCATION] \
      [--description="DESCRIPTION"] \
      [--kms-key=KMS-KEY] \
      [--version-policy=VERSION-POLICY] \
      [--allow-snapshot-overwrites] \
      [--async] \

הסימונים הבאים ספציפיים למאגרי Maven:

--version-policy=VERSION-POLICY

מציין את סוגי החבילות לאחסון במאגר. אפשר להגדיר את VERSION-POLICY כך:

  • None – אין מדיניות גרסה. אחסון של חבילות של גרסאות ושל תמונות מצב. אם לא כוללים את הדגל --version-policy בפקודה, זו הגדרת ברירת המחדל.
  • Release – חבילות הפצה לחנות בלבד.
  • Snapshot – אחסון רק של חבילות snapshot.

--allow-snapshot-overwrites

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

npm

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=npm \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, השמות של המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הסימון הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

Python

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=python \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הסימון הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

Ruby

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=ruby \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, השמות של המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

טעים

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=yum \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

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

  • REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:
    gcloud artifacts locations list
  • DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים.
  • KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

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

    • KMS-PROJECT: הפרויקט שבו המפתח מאוחסן.
    • KMS-LOCATION: המיקום של המפתח.
    • KEY-RING: השם של אוסף המפתחות.
    • KEY: השם של המפתח.
  • --async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.

‫Artifact Registry יוצר את המאגר. מריצים את הפקודה הבאה כדי לראות תיאור של המאגר:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

אחרי שיוצרים את המאגר:

יצירת מאגר באמצעות Terraform

משתמשים במשאב google_artifact_registry_repository כדי ליצור מאגרי תמונות. נדרשת גרסה terraform-provider-google 5.0.0 ומעלה.

אם אתם חדשים בשימוש ב-Terraform עבור Google Cloud, תוכלו לעיין בדף תחילת העבודה – Google Cloud באתר HashiCorp.

בדוגמה הבאה מוגדרים הספק ומאגר עם שם משאב Terraform‏ my-repo.

דירה

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של ארטיפקט שיישארו במאגר.

Docker

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של פריט המידע שנוצר בתהליך הפיתוח (Artifact) שיישארו במאגר.

גנרי

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "generic" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של פריט המידע שנוצר בתהליך הפיתוח (Artifact) שיישארו במאגר.

Go

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "go" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של ארטיפקט שיישארו במאגר.

KubeFlow Pipelines

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "kfp" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של ארטיפקט שיישארו במאגר.

Maven

אם לא מציינים מדיניות גרסאות, Artifact Registry יוצר כברירת מחדל מאגר Maven שבו מאוחסנות גרסאות snapshot וגרסאות release של חבילות.

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "maven" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של ארטיפקט שיישארו במאגר.

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

  • version_policy מגדיר את מדיניות הגרסה עם אחד מהערכים הבאים:

    • VERSION_POLICY_UNSPECIFIED: אחסון חבילות של קובצי snapshot ופרסום שלהן. זו הגדרת ברירת המחדל.
    • גרסת הפצה: חבילות הפצה לחנות בלבד.
    • תמונת מצב: אחסון רק של חבילות תמונת מצב.
  • allow_snapshot_overwrites מגדיר מאגר עם מדיניות גרסאות SNAPSHOT כדי לאפשר צילומי מצב לא ייחודיים שדוחפים גרסאות קיימות במאגר.

    בדוגמה הבאה מוגדר מאגר Maven עם מדיניות לגבי גרסת הפצה.

    provider "google" {
      project = "my-project"
    }
    
    resource "google_artifact_registry_repository" "my-repo" {
      provider = google-beta
    
      location = "us-central1"
      repository_id = "my-repo"
      description = "Maven repository"
      format = "MAVEN"
      maven_config {
        version_policy = "RELEASE"
      }
    }
    

npm

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "npm" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של פריט המידע שנוצר בתהליך הפיתוח (Artifact) שיישארו במאגר.

Python

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "python" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • TAG_STATE הוא מצב התג שאליו רוצים להחיל את המדיניות. הערכים הם tagged,‏ untagged ו-any. any חל על ארטיפקטים מתויגים ולא מתויגים. אם במאגר מופעלות תגיות בלתי ניתנות לשינוי, אי אפשר למחוק ארטיפקטים עם תגיות.

  • TAG_PREFIX, TAG_PREFIX_N הם קידומות של תגים שאליהם המדיניות חלה.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של ארטיפקט שיישארו במאגר.

טעים

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

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

  • PROJECT-ID הוא מזהה הפרויקט. Google Cloud
  • LOCATION הוא המיקום של המאגר.
  • REPOSITORY הוא שם המאגר.
  • DESCRIPTION הוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים.
  • KEY הוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google-owned and Google-managed encryption keys
  • DRY_RUN_STATUS קובעת אם מדיניות הניקוי תמחק ארטיפקטים, או רק תרשום ביומן אילו ארטיפקטים יימחקו אם מדיניות הניקוי תוגדר במאגר. אם לא רוצים להוסיף מדיניות ניקוי למאגר, לא מציינים את האפשרות הזו.

    • true: הגדרת המדיניות להרצה במצב פרימטר לבדיקות. במצב פרימטר לבדיקות לא נמחקים פריטי מידע.
    • false: החלת מדיניות הניקוי. הארטיפקטים נמחקים או נשמרים בהתאם למדיניות.

    מידע נוסף על מדיניות ניקוי זמין במאמר הגדרת מדיניות ניקוי.

  • POLICY_NAME הוא השם של מדיניות הניקוי.

  • PKG_PREFIX, PKG_PREFIX_N הם קידומות של חבילות שרוצים להחיל עליהן את המדיניות.

  • TIME_SINCE_UPLOAD הוא משך הזמן מאז שגרסת ארטיפקט הועלתה למאגר. אפשר לציין משכי זמן בשניות, בדקות, בשעות או בימים על ידי הוספת s, m, h או d בהתאמה.

  • KEEP_COUNT הוא מספר הגרסאות של פריט המידע שנוצר בתהליך הפיתוח (Artifact) שיישארו במאגר.

‫Artifact Registry יוצר את המאגר. מריצים את הפקודה הבאה כדי לראות תיאור של המאגר:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

אחרי שיוצרים את המאגר:

עריכת תיאורים של מאגרים

אפשר לשנות את תיאור המאגר דרך מסוף Google Cloud או דרך ה-CLI של gcloud.

המסוף

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

    פתיחת הדף Repositories

  2. ברשימת המאגרים, בוחרים את המאגר ולוחצים על Edit Repository.

  3. עורכים את תיאור המאגר ולוחצים על שמירה.

gcloud

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

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT \
    --location=LOCATION \
    --description="DESCRIPTION"

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

  • REPOSITORY: שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
  • PROJECT: מזהה הפרויקט ב- Google Cloud. אם לא מציינים את הדגל הזה, המערכת משתמשת בפרויקט הנוכחי או בפרויקט ברירת המחדל.
  • LOCATION הוא המיקום האזורי או המיקום במספר אזורים של המאגר. ‫ אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
  • DESCRIPTION: תיאור המאגר.

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