מאגרי Apt ב-Artifact Registry מאפשרים לכם לקבוע אילו גרסאות של חבילות Debian יותקנו במכונות הווירטואליות (VMs). אתם יכולים להגדיר מכונות של Compute Engine או מכונות וירטואליות חיצוניות כדי להתקין חבילות ממאגרים פרטיים או ציבוריים.
לפני שמתחילים
אם מאגר ה-APT לא קיים, יוצרים מאגר רגיל חדש. אתם יכולים ליצור מאגר פרטי או מאגר ציבורי שלא דורש אימות.הכנת מכונה וירטואלית לגישה למאגר Apt
מאגר פרטי
בוחרים את חשבון השירות שבו תשתמשו כדי לתת גישה.
- במכונות וירטואליות של Compute Engine, יכול להיות שזה יהיה חשבון השירות שמוגדר כברירת מחדל. Artifact Registry מאחזר באופן אוטומטי את פרטי הכניסה לחשבון השירות של מכונת ה-VM ב-Compute Engine לכל מכונת VM שמשתמשת בחשבון שירות.
- במכונות וירטואליות אחרות, יוצרים או בוחרים חשבון שירות שיפעל בשם המכונה הווירטואלית. כדי להגדיר את המכונה הווירטואלית, תצטרכו את המיקום של קובץ המפתח של חשבון השירות. בדף Service Accounts אפשר לראות את המפתחות של החשבונות הקיימים וליצור מפתחות חדשים.
מכינים את ה-VM לגישה למאגר.
מכונה וירטואלית ב-Compute Engine
VM של Debian
מקצים למכונה הווירטואלית היקפי גישה ל-API של
cloud-platform. למידע על הגדרת היקפי גישה, ראו שינוי חשבון השירות והיקפי הגישה של מכונה.מעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt updateמתקינים את החבילה
apt-transport-artifact-registryב-VM:sudo apt install apt-transport-artifact-registry
מכונה וירטואלית של Ubuntu
מתקינים את מפתחות החתימה של מאגר Apt באמצעות הפקודה הבאה:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpgמחליפים את
LOCATIONבמיקום האזורי של המאגר.מקצים למכונה הווירטואלית היקפי גישה ל-API של
cloud-platform. למידע על הגדרת היקפי גישה, ראו שינוי חשבון השירות והיקפי הגישה של מכונה.מגדירים את ה-VM כך שתהיה לו גישה לחבילות של Artifact Registry באמצעות הפקודה הבאה:
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listמעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt updateמתקינים את החבילה
apt-transport-artifact-registryב-VM:sudo apt install apt-transport-artifact-registry
מכונה וירטואלית אחרת
מתקינים את מפתחות החתימה של מאגר Apt באמצעות הפקודה הבאה:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpgמחליפים את
LOCATIONבמיקום האזורי של המאגר.מגדירים את ה-VM כך שתהיה לו גישה לחבילות של Artifact Registry באמצעות הפקודה הבאה:
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listמעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt updateמתקינים את החבילה
apt-transport-artifact-registryב-VM:sudo apt install apt-transport-artifact-registryמוצאים את השורה
#Service-Account-JSON "/path/to/creds.json";בקובץ/etc/apt/apt.conf.d/90artifact-registry, מבטלים את הסימון שלה כהערה ומוסיפים את הנתיב של המפתח של חשבון השירות.רשומה בקובץ התצורה:
Service-Account-JSON "PATH_TO_SERVICE_ACCOUNT_KEY";
מחליפים את
PATH_TO_SERVICE_ACCOUNT_KEYבנתיב לקובץ ה-JSON של מפתח חשבון השירות.
מאגר ציבורי
מגדירים גישה ציבורית למאגר.
אם אתם מגדירים מכונה וירטואלית מחוץ ל- Cloud de Confiance, הכינו את המכונה לגישה למאגר. אם אתם מגדירים מכונה וירטואלית של Compute Engine, המשיכו לשלב הבא.
מתקינים את מפתח האימות הציבורי של החתימה באמצעות הפקודה הבאה:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpgמחליפים את
LOCATIONבמיקום האזורי של המאגר.מעדכנים את Apt באמצעות הפקודה הבאה:
sudo apt update
הגדרת VM לגישה למאגר Apt רגיל
הגדרת מכונה וירטואלית כדי לגשת למאגר Apt:
מריצים את הפקודה
gcloud beta artifacts print-settings aptכדי ליצור את פקודת ההגדרה של המכונה הווירטואלית:gcloud beta artifacts print-settings apt \ --repository=REPOSITORY \ --location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
LOCATIONהוא המיקום האזורי של המאגר. -
REPOSITORYהוא השם של מאגר Artifact Registry.
הפלט אמור להיראות כך:
# To configure your package manager with this repository: # Update Apt: sudo apt update # Install the Apt credential helper: sudo apt install apt-transport-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: echo "deb [signed-by=/etc/apt/trusted.gpg.d/artifact-registry.gpg] ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list # Update Apt: sudo apt update
-
מגדירים את Apt לאחזור חבילות מהמאגר באמצעות הפקודה
echoמהפלט של הפקודהprint-settings.לדוגמה, כדי להתקין חבילות מהמאגר הציבורי
my-repoבפרויקטmy-projectובמיקוםu-france-east1, משתמשים בפקודה הבאה:echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:
sudo apt update
עכשיו Apt יכול להתחבר למאגר.
אם אתם יוצרים מאגרי Apt נוספים, אתם יכולים להוסיף אותם לקובץ artifact-registry.list ואז להריץ מחדש את sudo apt update כדי לעדכן את מקורות המאגר.
הגדרת גישת HTTP למאגר Apt
אם אתם משתמשים בכלים ישנים יותר של לקוחות שלא תומכים בהצפנת SSL, אתם יכולים להגדיר גישה ציבורית למאגר Apt ולגשת אליו באמצעות HTTP. בקשות שנשלחות למאגרים ציבוריים שניתנים לקריאה באמצעות HTTP יידחו אם יוצג אסימון אימות עם הבקשה.
מגדירים גישה ציבורית למאגר.
כדי להגדיר ל-Apt לאחזר חבילות מהמאגר באמצעות HTTP, מריצים את הפקודה הבאה:
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \ REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listמחליפים את מה שכתוב בשדות הבאים:
-
LOCATIONהוא המיקום האזורי של המאגר. -
PROJECT_IDהוא מזהה הפרויקט של המאגר. -
REPOSITORYהוא שם המאגר.
לדוגמה, כדי להתקין חבילות מהמאגר הציבורי
my-repoבפרויקטmy-projectובמיקוםu-france-east1באמצעות HTTP, משתמשים בפקודה הבאה:echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
-
מעדכנים את מקורות המאגר באמצעות הפקודה הבאה:
sudo apt update
עכשיו Apt יכול להתחבר למאגר.
אם אתם יוצרים מאגרי Apt נוספים, אתם יכולים להוסיף אותם לקובץ artifact-registry.list ואז להריץ מחדש את sudo apt update כדי לעדכן את מקורות המאגר.