מאגרים רגילים הם מאגרים של ארטיפקטים פרטיים. אתם מעלים ארטיפקטים למאגרי הארטיפקטים האלה ומורידים מהם ארטיפקטים ישירות.
בדף הזה נסביר איך ליצור מאגרי מידע רגילים ב-Artifact Registry.
לפני שמתחילים
- מפעילים את Artifact Registry, כולל הפעלת Artifact Registry API והתקנת Google Cloud CLI.
- (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
- אם אתם רוצים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) כדי להצפין את התוכן במאגר, אתם צריכים ליצור ולהפעיל מפתח ב-Cloud KMS עבור המאגר.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מאגרי מידע, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Artifact Registry Administrator (אדמין של Artifact Registry) (roles/artifactregistry.admin) בפרויקט Google Cloud .
להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מאגר רגיל
כשיוצרים מאגר, צריך להגדיר את ההגדרות הבאות שלא ניתן לשנות אחרי יצירת המאגר:
- פורמט של פריט מידע שנוצר בתהליך פיתוח (Artifact).
- מצב המאגר, אם יש כמה מצבים זמינים לפורמט שנבחר.
- המיקום של המאגר.
- הצפנה באמצעות Google-owned and Google-managed encryption keys אומפתחות הצפנה בניהול הלקוח. כברירת מחדל, Artifact Registry משתמש ב-Google-owned and Google-managed encryption keys .
ב-Artifact Registry נאכפים אילוצים על מדיניות הארגון שמחייבים שימוש ב-CMEK להצפנת משאבים או שמגבילים את המפתחות של Cloud KMS שאפשר להשתמש בהם להגנה באמצעות CMEK.
יצירת מאגר באמצעות מסוף Google Cloud
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על Create Repository (יצירת מאגר).
מציינים את שם המאגר. לכל מיקום מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
בוחרים את פורמט המאגר.
אם יש כמה מצבי מאגר, בוחרים באפשרות רגיל.
Maven בלבד: הגדרת מדיניות הגרסאות.
בוחרים מדיניות גרסאות:
- ללא – אין מדיניות גרסאות. אחסון של חבילות של גרסאות ושל תמונות מצב.
- גרסה – חבילות שחרור לחנות בלבד.
- Snapshot (תמונת מצב) – אחסון רק של חבילות snapshot.
אם רוצים שמאגר תמונות המצב יקבל תמונות מצב לא ייחודיות שיחליפו גרסאות קיימות במאגר, בוחרים באפשרות Allow snapshot overwrites (התרת החלפה של תמונות מצב).
בקטע Location Type, בוחרים את המיקום של המאגר:
בוחרים את סוג המיקום: Region או Multi-Region. רשימת המיקומים משתנה בהתאם לבחירה שלכם.
ברשימה Region או Multi-region, בוחרים מיקום.
מידע על סוגי מיקומים ומיקומים נתמכים זמין במאמר מיקומי מאגרים
מוסיפים תיאור למאגר. התיאורים עוזרים לזהות את המטרה של המאגר ואת סוג הארטיפקטים שהוא מכיל.
חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגרים לא מוצפנים.
אם רוצים להשתמש בתוויות כדי לארגן את המאגרים, לוחצים על הוספת תווית ומזינים את צמד המפתח/ערך של התווית. אפשר להוסיף, לערוך או להסיר תוויות אחרי שיוצרים את המאגר.
בקטע Encryption, בוחרים את מנגנון ההצפנה למאגר.
- Google-managed encryption key – הצפנת תוכן המאגר באמצעותGoogle-owned and Google-managed encryption key.
מפתח בניהול הלקוח – הצפנת תוכן המאגר באמצעות מפתח שאתם שולטים בו דרך Cloud Key Management Service. הוראות להגדרת מפתחות מופיעות במאמר הגדרת CMEK למאגרי מידע.
במאגרי Docker, ההגדרה Immutable image tags (תגי תמונה שלא ניתן לשנות) קובעת שהמאגר ישתמש בתגי תמונה שתמיד מצביעים על אותו גיבוב תמונה. משתמש עם תפקיד אדמין ב-Artifact Registry יכול לשנות את ההגדרה הזו אחרי יצירת המאגר.
- ההגדרה הזו מושבתת כברירת מחדל. תגי תמונות ניתנים לשינוי, כלומר, יכול להיות שהתקציר של התמונה שאליה התג מצביע ישתנה.
- אם ההגדרה הזו מופעלת, תגי התמונות הם בלתי ניתנים לשינוי. תג תמיד צריך להצביע על אותו גיבוב של תמונה. מידע נוסף על תגי קובצי אימג' שניתנים לשינוי ושאי אפשר לשנות אותם זמין במאמר בנושא גרסאות של קובצי אימג' של קונטיינרים.
אם רוצים להשתמש במדיניות ניקוי כדי למחוק ארטיפקטים שלא נמצאים בשימוש, בקטע Cleanup policies (מדיניות ניקוי):
- בוחרים באפשרות הרצה יבשה כדי לבדוק את המדיניות לפני שמחילים אותה.
- לוחצים על הוספת מדיניות כדי להוסיף מדיניות שמירה או מחיקה למאגר.
- נותנים למדיניות הניקוי שם תיאורי בשדה שם.
בקטע סוג המדיניות, בוחרים באחת מהאפשרויות הבאות:
- מחיקה מותנית: מחיקת ארטיפקטים על סמך תנאים שאתם מגדירים.
- שמירה מותנית: שמירת ארטיפקטים על סמך תנאים שאתם מגדירים.
שמירה של הגרסאות העדכניות ביותר: שמירה של מספר מוגדר של הגרסאות העדכניות ביותר לכל חבילה.
פרטים נוספים על מדיניות ניקוי זמינים במאמר הגדרת מדיניות ניקוי.
בקטע ניתוח ארטיפקטים, בוחרים את הגדרות הסריקה של נקודות החולשה:
מופעל – אפשר לסרוק במאגר הזה. צריך להפעיל בפרויקט את Container Scanning API.
החיוב מתחיל מיד כשמפעילים את Container Scanning API. אחרי שמפעילים את Container Scanning API בפרויקט, בדיקת נקודות חולשה מופעלת בכל המאגרים החדשים והקיימים. כשמעבירים תמונה ל-Artifact Registry, היא נסרקת באופן אוטומטי על ידי Artifact Analysis.
מושבת – מניעת סריקה במאגר הזה. אם ה-API של סריקת מאגרי נתונים מופעל בפרויקט, הסריקה ממשיכה במאגרי נתונים אחרים, והמאגר הזה לא ייכלל בסריקה.
מידע נוסף על אפשרויות לסריקת פגיעויות מופיע במאמר בנושא הפעלה והשבתה של סריקה אוטומטית.
לוחצים על יצירה.
Artifact Registry יוצר את המאגר ומוסיף אותו לרשימת המאגרים.
אחרי שיוצרים את המאגר:
- מעניקים גישה למאגר.
הגדרת Docker, מנהלי חבילות ולקוחות אחרים של צד שלישי לאימות למאגרים.
יצירת מאגר באמצעות 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
אחרי שיוצרים את המאגר:
- מעניקים גישה למאגר.
- מגדירים מדיניות ניקוי כדי למחוק ארטיפקטים שלא נמצאים בשימוש.
הגדרת Docker, מנהלי חבילות ולקוחות אחרים של צד שלישי לאימות למאגרים.
יצירת מאגר באמצעות 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
אחרי שיוצרים את המאגר:
- מעניקים גישה למאגר.
הגדרת Docker, מנהלי חבילות ולקוחות אחרים של צד שלישי לאימות למאגרים.
עריכת תיאורים של מאגרים
אפשר לשנות את תיאור המאגר דרך מסוף Google Cloud או דרך ה-CLI של gcloud.
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
ברשימת המאגרים, בוחרים את המאגר ולוחצים על Edit Repository.
עורכים את תיאור המאגר ולוחצים על שמירה.
gcloud
כדי לעדכן את תיאור המאגר, מריצים את הפקודה:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
מחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY: שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
PROJECT: מזהה הפרויקט ב- Google Cloud. אם לא מציינים את הדגל הזה, המערכת משתמשת בפרויקט הנוכחי או בפרויקט ברירת המחדל. -
LOCATIONהוא המיקום האזורי או המיקום במספר אזורים של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
DESCRIPTION: תיאור המאגר.