ב-Artifact Registry יש תמיכה בחבילות Java שאתם יוצרים באמצעות Maven ו-Gradle.
סקירה כללית
כדי להכיר חבילות Java ב-Artifact Registry, אפשר לנסות את המדריך לתחילת העבודה.
כשתהיו מוכנים לקבל מידע נוסף, תוכלו לקרוא את המידע הבא:
- יוצרים מאגר חבילות של Java לחבילות.
- איך יוצרים מאגרי מידע מרוחקים ומאגרי מידע וירטואליים
- בדוגמה הזו לשימוש במאגר מוסבר איך אפשר להשתמש במאגרים וירטואליים ומרוחקים.
- מעניקים הרשאות לחשבון שיתחבר למאגר. לחשבונות שירות לשילובים נפוצים עם Artifact Registry יש הרשאות ברירת מחדל למאגרים באותו פרויקט.
- מגדירים את הכלים:
- מגדירים אימות ל-Maven או ל-Gradle.
- אם רוצים להשתמש ב-sbt ככלי לבנייה של Scala ו-Java במקום להשתמש ב-Maven או ב-Gradle, אפשר להשתמש בתוסף sbt שנוצר על ידי הקהילה. במסמכי התיעוד האלה לא מוסבר על הגדרה או שימוש בלקוחות Scala.
- מגדירים את Cloud Build להעלאה ולהורדה של חבילות.
- מידע נוסף על פריסה בסביבות זמן ריצה של Google Cloud .
- מידע נוסף על ניהול חבילות
גרסאות Snapshot וגרסאות שפורסמו ב-Maven
Maven מבחין בין גרסאות snapshot לבין גרסאות release של פרויקטים ב-Maven.
Snapshots
תמונת מצב היא גרסה לפני ההשקה של פרויקט Java. מספר הגרסה של תמונת מצב כולל את הסיומת -SNAPSHOT במודל אובייקט הפרויקט (POM). לדוגמה, ההגדרה הזו בקובץ pom.xml היא לגרסה 1.0 של פרויקט שנמצא בפיתוח:
<version>1.0-SNAPSHOT</version>
כשמפרסמים חבילה מהפרויקט הזה, Maven 3 מוסיף באופן אוטומטי חותמת זמן למספר גרסת התמונה, כך שכל גרסת תמונה היא ייחודית. Maven 2 תומך בגרסאות snapshot לא ייחודיות כאמצעי להחלפת snapshots קיימים במאגר. הגישה הזו בעייתית מבחינת שחזור של בנייה, ולכן Maven 3 כבר לא תומך בתמונות מצב לא ייחודיות.
תמונות מצב מאפשרות לכם לפרסם באופן איטרטיבי גרסאות מעודכנות של חבילת טרום-הפצה בלי להגדיל את מספר הגרסה בפרויקט Maven בכל פעם שאתם מפרסמים במאגר. במהלך הפיתוח, פרויקטים אחרים עם תלות בחבילה יכולים לקבל את התמונה העדכנית ביותר של גרסה 1.0 מהמאגר.
פרטים על התחביר של מספר הגרסה ועל סדר המיון ב-Maven מופיעים במפרט של סדר הגרסאות.
גרסאות
כשמוכנים לפרסם חבילה, מסירים את הסיומת -SNAPSHOT ממספר הגרסה בקובץ ה-POM ומעדכנים את כל הפרויקטים שתלויים בחבילה כך שישתמשו בגרסת הפרסום במקום בגרסת ה-snapshot.
כדי להציג רשימה של כל יחסי התלות של התמונה, אפשר לסנן את עץ יחסי התלות באמצעות הפקודה:
mvn dependency:tree -Dincludes=:::*-SNAPSHOT
מדיניות הגרסאות של Artifact Registry
כשיוצרים מאגר Maven ב-Artifact Registry, אפשר לציין מדיניות גרסאות של Maven:
- None (ללא) – מאחסן גם חבילות של תמונות מצב וגם חבילות של גרסאות. זוהי הגדרת ברירת המחדל.
- תמונת מצב – מאחסן רק חבילות של תמונות מצב.
- הפצה – הפצת חבילות רק בחנויות.
אם בוחרים במדיניות של גרסאות תמונות מצב, אפשר גם לציין אם המאגר מאפשר גרסאות לא ייחודיות של תמונות מצב שמחליפות גרסאות תואמות במאגר. מומלץ להשתמש בגרסאות ייחודיות כי Maven 3 לא תומך במודל של גרסאות לא ייחודיות.