אחסון חבילות Java ב-Artifact Registry
במדריך למתחילים הזה מוסבר איך להגדיר מאגר Maven פרטי ב-Artifact Registry ולהעלות אליו חבילה.
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של מאגרי חבילות Java ב-Artifact Registry, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Artifact Registry Administrator (אדמין של Artifact Registry) (roles/artifactregistry.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הפעלת Cloud Shell
במדריך למתחילים הזה תשתמשו ב-Cloud Shell, שהיא סביבת מעטפת לניהול משאבים שמתארחים ב-Google Cloud.ב-Cloud Shell מותקנים מראש Google Cloud CLI ו-Java. ה-CLI של gcloud הוא ממשק שורת הפקודה העיקרי ל- Google Cloud.
מפעילים את Cloud Shell:
עוברים אל Google Cloud המסוף.
בסרגל הכלים של המסוף, לוחצים על Activate Cloud Shell (הפעלת Cloud Shell):
Google Cloud
בחלק התחתון של המסוף ייפתח סשן של Cloud Shell בתוך מסגרת.
משתמשים בשורת הפקודות הזו כדי להריץ פקודות gcloud.
יצירת מאגר חבילות Java
יוצרים את המאגר של ארטיפקטים של Java.- יוצרים את המאגר:
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על Create Repository (יצירת מאגר).
מציינים את
quickstart-java-repoכשם המאגר.בוחרים באפשרות Maven כפורמט ובאפשרות Standard כמצב.
בקטע Location Type, בוחרים באפשרות Region ואז בוחרים את המיקום
us-central1.לוחצים על יצירה.
המאגר נוסף לרשימת המאגרים.
gcloud
מריצים את הפקודה הבאה כדי ליצור מאגר חדש של חבילות Java בפרויקט הנוכחי בשם
quickstart-java-repoבמיקוםus-central1.gcloud artifacts repositories create quickstart-java-repo --repository-format=maven \ --location=us-central1 --description="Java package repository"מריצים את הפקודה הבאה כדי לוודא שהמאגר נוצר:
gcloud artifacts repositories listכדי לקבל מידע נוסף על פקודות Artifact Registry, מריצים את הפקודה
gcloud artifacts.
הגדרת Maven
בוחרים פרויקט Maven פשוט שרוצים להשתמש בו.
אם אין לכם פרויקט פשוט, אתם יכולים ליצור את הפרויקט Maven תוך 5 דקות.
במדריך למתחילים הזה מניחים שלפרויקט הפשוט שלכם אין תלות נוספת בהורה או בתוסף שמאוחסנת ב-Artifact Registry. לפרטים על הגדרת פרויקט Maven עם תלות ב-Artifact Registry, אפשר לעיין במאמר אימות באמצעות כלי עזר לפרטי כניסה.
כדי לפשט את הפקודות של
gcloud, מגדירים את מאגר ברירת המחדל ל-quickstart-java-repoואת מיקום ברירת המחדל ל-us-central1. אחרי שמגדירים את הערכים, לא צריך לציין אותם בפקודותgcloudשדורשות מאגר או מיקום.כדי להגדיר את המאגר, מריצים את הפקודה:
gcloud config set artifacts/repository quickstart-java-repoכדי להגדיר את המיקום, מריצים את הפקודה:
gcloud config set artifacts/location us-central1מידע נוסף על הפקודות האלה זמין במאמר בנושא gcloud config set.
מריצים את הפקודה הבאה כדי להדפיס את ההגדרות של מאגר ברירת המחדל
quickstart-java-repo.gcloud artifacts print-settings mvnהפלט של הפקודה
gcloudנראה כמו הקטע הבא, כאשר PROJECT הוא מזהה הפרויקט.<distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.5</version> </extension> </extensions> </build>מוסיפים את ההגדרות לקובץ
pom.xmlשל פרויקט Maven. בתוכנית הבאה מוצג המיקום היחסי של כל אחד מהאלמנטים העיקריים. פרטים על מבנה הקובץ מופיעים בהפניה ל-POM של Maven.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- Build Settings --> <build> ... <extensions>...</extensions> </build> <!-- Environment Settings --> <repositories>...</repositories> <distributionManagement>...</distributionManagement> </project>
עכשיו אפשר להעלות חבילות לפרויקט Maven למאגר.
הגדרת Gradle
יוצרים פרויקט Gradle פשוט כדי לפרוס חבילה למאגר Artifact Registry שיצרתם. אם אין לכם גרסת build לבדיקה של Gradle, תוכלו לפעול לפי המדריך המבואי ל-Gradle כדי ליצור גרסת build פשוטה של Gradle.כדי לפשט את הפקודות של gcloud, מגדירים את מאגר ברירת המחדל ל-quickstart-java-repo ואת מיקום ברירת המחדל ל-us-central1.
אחרי שמגדירים את הערכים, לא צריך לציין אותם בפקודות gcloud
שדורשות מאגר או מיקום.
כדי להגדיר את המאגר, מריצים את הפקודה:
gcloud config set artifacts/repository quickstart-java-repo
כדי להגדיר את המיקום, מריצים את הפקודה:
gcloud config set artifacts/location us-central1
מידע נוסף על הפקודות האלה זמין במאמר בנושא gcloud config set.
מוסיפים הגדרות לחיבור המאגר לקובץ
build.gradle. הפקודה הבאה מדפיסה את ההגדרות שצריך להוסיף למאגר ברירת המחדלquickstart-java-repo.gcloud artifacts print-settings gradleהפלט של הפקודה
gcloudנראה כמו בדוגמה הבאה, כאשר PROJECT הוא מזהה הפרויקט.plugins { id "maven-publish" id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.5" } publishing { repositories { maven { url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo" } } } repositories { maven { url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo" } }מוודאים שהקובץ
build.gradleכולל את הקטע publications. אם לא, מוסיפים אותו לקובץbuild.gradle.הקטע
publicationsהוא צאצא שלpublishing, כמו שמוצג בדוגמה הבאה:publishing { publications { mavenJava(MavenPublication) { groupId 'maven.example.id' from components.java } } repositories { maven { url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo" } } }אפשר גם להוסיף הגדרות של מאגר לקבצים
init.gradleאוsettings. פרטים על האפשרויות האלה מופיעים במאמר בנושא הגדרת אימות.העלאת חבילה למאגר
ב-Maven, אפשר להשתמש ב-
mvn deployוב-mvn releaseכדי להוסיף חבילות למאגר.ב-Gradle, משתמשים בפקודה
gradle publishכדי להעלות חבילה למאגר.הצגת החבילה במאגר
כדי לוודא שהחבילה נוספה למאגר:המסוף
פותחים את הדף Repositories במסוף Google Cloud .
ברשימת המאגרים, לוחצים על המאגר
quickstart-java-repo.בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.
gcloud
כדי להציג את רשימת החבילות במאגר
quickstart-java-repo, מריצים את הפקודה הבאה:gcloud artifacts packages list --repository=quickstart-java-repoהפלט ייראה כך:
Listing items under project <project-id>, location us-central1,\ repository quickstart-java-repo. PACKAGE: maven.example.id:gradle-demo CREATE_TIME: 2022-01-20T22:46:07 UPDATE_TIME: 2022-01-20T22:46:07כאשר
maven.example.id:gradle-demoהוא מזהה החבילהכדי לראות את הגרסאות של חבילה, מריצים את הפקודה הבאה:
gcloud artifacts versions list --package=PACKAGEכאשר PACKAGE הוא מזהה החבילה.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
לפני שמסירים את המאגר, צריך לוודא שכל החבילות שרוצים לשמור זמינות במיקום אחר.
כדי למחוק את המאגר:
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
ברשימת המאגרים, בוחרים במאגר
quickstart-java-repo.לוחצים על Delete.
gcloud
כדי למחוק את מאגר
quickstart-java-repo, מריצים את הפקודה הבאה:gcloud artifacts repositories delete quickstart-java-repoאם רוצים להסיר את הגדרות ברירת המחדל של המאגר והמיקום שהגדרתם עבור התצורה הפעילה של
gcloud, מריצים את הפקודות הבאות:gcloud config unset artifacts/repository gcloud config unset artifacts/location
המאמרים הבאים
- מידע נוסף על הגדרת אימות
- מידע נוסף על ניהול מאגרי מידע
- מידע על ניהול חבילות
- אפשר גם לקרוא את המשאבים שלנו בנושא DevOps ולעיין בתוכנית המחקר שלנו.