הורדת חבילות Java באמצעות גישה ישירה למאגר עבור הרמה החינמית

במסגרת רמת השירות החינמית, חבילות Assured Open Source Software מאוחסנות במאגר Artifact Registry שמנוהל על ידי Google.

בדף הזה מוסבר איך להתחבר למאגר של Artifact Registry בשביל Assured OSS כדי לגשת ישירות לחבילות Java ולהוריד אותן.

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

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

  1. צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM אדמין של מפתח של חשבון שירות (roles/iam.serviceAccountKeyAdmin) בארגון. ההרשאה הזו נדרשת כדי לקבל את המחרוזת המקודדת ב-Base64 של מפתח חשבון השירות. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

  2. מגדירים את Assured OSS. כדי לקבל גישה ל-Assured OSS ברמת השימוש החינמית, צריך לשלוח את טופס ההרשמה ללקוחות.

  3. מאמתים את הקישוריות ל-Assured OSS עבור חשבונות השירות המבוקשים.

  4. מפעילים את Artifact Registry API בפרויקט האב Google Cloud של חשבונות השירות שמשמשים לגישה ל-Assured OSS.

  5. מתקינים את הגרסה האחרונה של Google Cloud CLI. אם התקנתם את Google Cloud CLI בעבר, צריך לוודא שפועלת אצלכם הגרסה העדכנית ביותר באמצעות הפקודה הבאה:

    gcloud components update
    

מגדירים אימות

‫Artifact Registry תומך בשיטות האימות הבאות:

  • אימות באמצעות כלי עזר לפרטי כניסה
  • אימות באמצעות סיסמה

בקטעים הבאים מוסבר איך מגדירים את שיטות האימות האלה.

אימות באמצעות כלי עזר לאישורים

‫Artifact Registry מספק Maven wagon וGradle plugin לשימוש כcredential helpers. האפשרות הזו מספקת את הגמישות הגדולה ביותר.

במאמר הגדרת אימות מוסבר איך להגדיר Application Default Credentials.

הגדרת כלי עזר לפרטי הכניסה

כדי להגדיר אימות באמצעות כלי עזר לפרטי כניסה, מבצעים את השינויים הבאים בהתאם לכלי הבנייה:

Maven

<project>
  <build>
    <extensions>
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.0</version>
      </extension>
    </extensions>
  </build>
</project>

Gradle

plugins {
  id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
}

אימות באמצעות סיסמה

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

Maven

מוסיפים את הגדרות האימות הבאות בקטע settings בקובץ ~/.m2/settings.xml. אם הקובץ לא קיים, יוצרים אותו. מידע נוסף מופיע במאמר בנושא הגדרות Maven.

<settings>
  <servers>
    <server>
      <id>artifact-registry</id>
      <configuration>
        <httpConfiguration>
          <get>
            <usePreemptive>true</usePreemptive>
          </get>
          <head>
            <usePreemptive>true</usePreemptive>
          </head>
          <put>
            <params>
              <property>
                <name>http.protocol.expect-continue</name>
                <value>false</value>
              </property>
            </params>
          </put>
        </httpConfiguration>
      </configuration>
      <username>_json_key_base64</username>
      <password>KEY</password>
    </server>
  </servers>
</settings>

מחליפים את KEY בקידוד base64 של קובץ מפתח ה-JSON של חשבון השירות כולו. כדי לעשות זאת, מריצים את הפקודה הבאה:

cat KEY_FILE_LOCATION  | base64

כאשר KEY_FILE_LOCATION הוא המיקום של קובץ ה-JSON של מפתח חשבון השירות.

Gradle

מוסיפים את השורה הבאה לקובץ ~/.gradle/gradle.properties כדי שהמפתח לא יוצג בגרסאות או במאגר של בקרת המקור.

artifactRegistryMavenSecret = KEY

מחליפים את KEY במפתח הפרטי מקובץ מפתח ה-JSON של חשבון השירות. עבור json_key_base64, השדה artifactRegistryMavenSecret מכיל את הסיסמה המוצפנת בקידוד base64. לדוגמה, base64 -w 0 KEY.

בקובץ build.gradle, מציינים את הגדרות המאגר באמצעות הדוגמה הבאה:

repositories {
  maven {
    url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
    credentials {
      username = "_json_key_base64"
      password = "$artifactRegistryMavenSecret"
    }
    authentication {
      basic(BasicAuthentication)
    }
  }
}

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

Maven

מוסיפים את ההגדרות הבאות לקטע המתאים בקובץ pom.xml של פרויקט Maven. לא להחליף את הגדרות האימות.

<project>
  <repositories>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>

פרטים על מבנה הקובץ זמינים בהפניה ל-POM ב-Maven.

Gradle

מציינים את הגדרות המאגר הבאות בקובץ build.gradle. לא להחליף את הגדרות האימות.

repositories {
  maven {
  url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
  }
}

עדכון קובץ ההגדרות של הפרויקט כדי להוסיף תלויות

כדי להוריד פריט מידע שנוצר בתהליך פיתוח (Artifact) כחלק מה-build, צריך להצהיר על הפריט כתלות.

Maven

מצהירים על החבילות שרוצים להוריד בקובץ pom.xml של פרויקט Maven.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
</dependency>

Gradle

מצהירים על החבילות שרוצים להוריד בקובץ build.gradle.

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
}

גישה לחבילות Java שלא זמינות ב-Assured OSS

אתם יכולים לגשת לחבילות שלא זמינות במאגר Artifact Registry עבור Assured OSS.

‫Assured OSS מוגדר מראש עם Assured OSS כמאגר המועדף ומאגרי מידע ציבוריים קנוניים, כמו Maven Central או PyPI, כמאגרי מידע משניים. כדי להשתמש בתכונה (תצוגה מקדימה), מצביעים על כתובת ה-URL הבאה:

https://us-maven.pkg.dev/cloud-aoss/java

רשימה של כל חבילות Java שזמינות ב-Assured OSS

כדי להשתמש ב-API כדי לקבל רשימה של כל חבילות Java שזמינות במאגר Artifact Registry, אפשר לעיין במאמר הצגת רשימה של כל חבילות Java שזמינות ב-Assured OSS.

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