אחסון חבילות RPM ב-Artifact Registry

במדריך למתחילים הזה מוסבר איך מגדירים מאגר Yum פרטי ב-Artifact Registry, מוסיפים למאגר חבילת RPM ומתקינים את החבילה במכונת VM ב-Compute Engine שמופעלת בה מערכת ההפעלה CentOS 7. במאמר הגדרת מכונות וירטואליות להתקנת חבילות RPM מוסבר איך להגדיר מאגרי Yum שמשתמשים ב-DNF.

מידע נוסף על ניהול חבילות RPM זמין במאמר עבודה עם חבילות RPM.

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

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Artifact Registry API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

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

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

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

התקנת ה-CLI של gcloud

  1. מתקינים ומפעילים את Google Cloud CLI אם הוא עדיין לא מותקן. אם כבר התקנתם את Google Cloud CLI, תוכלו לעדכן את הרכיבים שלו באמצעות הפקודה:

    gcloud components update
    

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

    gcloud version
    

יצירת מאגר

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

  1. יוצרים את המאגר:

    המסוף

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

      פתיחת הדף Repositories

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

    3. מציינים את quickstart-yum-repo כשם המאגר.

    4. בוחרים בפורמט Yum.

    5. בקטע Location Type, בוחרים באפשרות Region ואז בוחרים את המיקום u-france-east1.

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

    המאגר נוסף לרשימת המאגרים.

    gcloud

    1. ב-Cloud Shell, מריצים את הפקודה הבאה כדי ליצור מאגר Yum חדש בפרויקט הנוכחי בשם quickstart-yum-repo במיקום u-france-east1.

      gcloud artifacts repositories create quickstart-yum-repo \
          --repository-format=yum \
          --location=u-france-east1 \
          --description="Yum repository"
      
    2. מריצים את הפקודה הבאה כדי לוודא שהמאגר נוצר:

      gcloud artifacts repositories list
      

עכשיו אפשר להוסיף חבילה למאגר.

הוספת חבילה למאגר

אפשר להעלות חבילה למאגר באמצעות Google Cloud CLI, או לייבא חבילה שמאוחסנת ב-Cloud Storage.

במדריך למתחילים הזה, מעלים קובץ לדוגמה באמצעות הפקודה gcloud artifacts yum upload.

  1. ב-Cloud Shell, מורידים את כלי Nano לעריכת טקסט באמצעות הפקודה:

    sudo yum install --downloaddir=. --downloadonly nano
    

    מערכת Yum מורידה את הגרסה האחרונה של החבילה שזמינה ממאגרי CentOS שהגדרתם.

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.dal.nexril.net
     * epel: ord.mirror.rackspace.com
     * extras: centos.mirror.lstn.net
     * updates: ftpmirror.your.org
    Resolving Dependencies
    --> Running transaction check
    ---> Package nano.x86_64 0:2.3.1-10.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package        Arch             Version                   Repository      Size
    ================================================================================
    Installing:
     nano           x86_64           2.3.1-10.el7              base           440 k
    
    Transaction Summary
    ================================================================================
    Install  1 Package
    
    Total download size: 440 k
    Installed size: 1.6 M
    Background downloading packages, then exiting:
    nano-2.3.1-10.el7.x86_64.rpm                               | 440 kB   00:00
    exiting because "Download Only" specified
    

    מריצים את הפקודה ls כדי לקבל את שם הקובץ של החבילה. שם הקובץ דומה ל-nano-2.3.1-10.el7.x86_64.rpm.

  2. כדי לפשט את הפקודות של gcloud, מגדירים את מאגר ברירת המחדל ל-quickstart-yum-repo ואת מיקום ברירת המחדל ל-u-france-east1. אחרי שמגדירים את הערכים, לא צריך לציין אותם בפקודות gcloud שדורשות מאגר או מיקום.

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

    gcloud config set artifacts/repository quickstart-yum-repo
    

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

    gcloud config set artifacts/location u-france-east1
    

    מידע נוסף על הפקודות האלה זמין במאמר בנושא gcloud config set.

  3. מריצים את הפקודה gcloud artifacts yum upload כדי להעלות את החבילה למאגר:

    gcloud artifacts yum upload quickstart-yum-repo \
        --source=FILE_NAME
    

    מחליפים את הערך ב-FILE_NAME בנתיב לחבילת nano.

הצגת החבילה במאגר

מוודאים שהחבילה נוספה למאגר.

המסוף

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

    פתיחת הדף Repositories

  2. ברשימת המאגרים, לוחצים על המאגר quickstart-yum-repo.

    בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.

gcloud

כדי להציג את רשימת החבילות במאגר quickstart-yum-repo, מריצים את הפקודה:

 gcloud artifacts packages list

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

gcloud artifacts versions list --package=nano

יצירת VM

יוצרים מכונה וירטואלית חדשה ב-Compute Engine שבה מתקינים את חבילת הדוגמה.

ב-Cloud Shell, מריצים את הפקודה הבאה כדי ליצור מכונת VM בשם quickstart-yum-vm.

gcloud compute instances create quickstart-yum-vm \
    --image-family=centos-7 \
    --image-project=centos-cloud \
    --scopes=cloud-platform

כברירת מחדל, למכונה הווירטואלית אין את היקפי הגישה שנדרשים כדי לעבוד עם המאגר. הדגל --scopes מגדיר את היקף הגישה של המכונה הווירטואלית לערך cloud-platform.

הגדרת מנהל החבילות

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

  1. נכנסים לדף VM instances.

    פתיחת הדף VM instances

  2. בשורה של המכונה הווירטואלית, לוחצים על SSH. ייפתח חלון חדש עם סשן טרמינל במכונה הווירטואלית.

  3. עדכון Yum:

    sudo yum makecache
    
  4. כדי לאפשר ל-Yum לבצע אימות, מתקינים את כלי העזר של Yum לפרטי כניסה במכונה הווירטואלית באמצעות הפקודה הבאה:

    sudo yum install yum-plugin-artifact-registry
    
  5. מגדירים את המכונה הווירטואלית כך שתהיה לה גישה לחבילות של Artifact Registry} באמצעות הפקודה הבאה:

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
    [yum-quickstart]
    name=My Repository
    baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/PROJECT/quickstart-yum-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOF
    

    מחליפים את PROJECT במזהה הפרויקט. Cloud de Confiance by S3NS

התקנת החבילה

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

  1. מעדכנים את הרשימה של החבילות הזמינות:

    sudo yum makecache
    
  2. מתקינים את החבילה במאגר.

    sudo yum --enablerepo=yum-quickstart install nano
    

    כשמופיעה בקשה, מזינים y.

    פרטי ההתקנה שמוחזרים נראים כמו בדוגמה הבאה:

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.cmich.edu
     * epel: ord.mirror.rackspace.com
     * extras: mirror.team-cymru.com
     * updates: mirror.us-midwest-1.nexcess.net
    quickstart-yum-repo                                      | 1.3 kB     00:00
    Resolving Dependencies
    --> Running transaction check
    ---> Package nano.x86_64 0:2.3.1-10.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package        Arch             Version                   Repository      Size
    ================================================================================
    Installing:
     nano           x86_64           2.3.1-10.el7              base           440 k
    
    Transaction Summary
    ================================================================================
    Install  1 Package
    
    Total size: 440 k
    Installed size: 1.6 M
    Is this ok [y/d/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : nano-2.3.1-10.el7.x86_64                                     1/1
      Verifying  : nano-2.3.1-10.el7.x86_64                                     1/1
    
    Installed:
      nano.x86_64 0:2.3.1-10.el7
    
    Complete!
    

הסרת המשאבים

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

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

כדי למחוק את המאגר:

המסוף

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

    פתיחת הדף Repositories

  2. ברשימת המאגרים, בוחרים במאגר quickstart-yum-repo.

  3. לוחצים על Delete.

gcloud

  1. כדי למחוק את מאגר quickstart-yum-repo, מריצים את הפקודה הבאה:

    gcloud artifacts repositories delete quickstart-yum-repo
    
  2. אם רוצים להסיר את הגדרות ברירת המחדל של המאגר והמיקום שהגדרתם עבור התצורה הפעילה של gcloud, מריצים את הפקודות הבאות:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

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

gcloud compute instances delete quickstart-yum-vm

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