通过直接访问代码库来下载 Java 软件包(免费层级)

在免费层级中,Assured Open Source Software 软件包托管在 Google 管理的 Artifact Registry 代码库中。

本页面介绍了如何关联到该 Assured OSS 专用的 Artifact Registry 代码库,以便直接访问和下载 Java 软件包。

本文档仅适用于免费层级。如需了解高级层级,请参阅下载 使用直接代码库访问权限下载 Java 软件包

准备工作

  1. 请让您的管理员向您授予组织的 Service Account Key Admin (roles/iam.serviceAccountKeyAdmin) IAM 角色。您需要此权限才能获取服务账号密钥的 base64 编码字符串。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

  2. 配置 Assured OSS。对于免费层级,请提交 客户启用表单 以启用对 Assured OSS 的访问权限。

  3. 验证连接 到 Assured OSS,以验证所请求的服务账号。

  4. 为用于访问 Assured OSS 的服务账号的 父 Google Cloud 项目启用 Artifact Registry API。

  5. 安装最新版本的 Google Cloud CLI。如果您之前安装了 Google Cloud CLI,请运行以下命令,确保您拥有最新版本:

    gcloud components update
    

设置身份验证

Artifact Registry 支持以下身份验证方法:

  • 使用凭证帮助程序进行身份验证
  • 使用密码进行身份验证

以下部分介绍了如何设置这些身份验证方法。

使用凭证帮助程序进行身份验证

Artifact Registry 提供 Maven wagonGradle 插件,可作为凭证帮助程序使用。这是最灵活的方法。

如需设置应用默认凭证,请参阅设置身份验证

设置凭证助手

根据 build 工具进行以下更改,以使用凭证帮助程序设置身份验证:

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 应用需要使用指定的用户名和密码进行身份验证时,请使用 密码进行身份验证。 根据您的 build 工具更改设置:

Maven

将以下身份验证设置添加到 ~/.m2/settings.xml 文件的 settings 部分。如果该文件尚不存在,请创建它。如需了解详情,请参阅 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 替换为整个服务账号 JSON 密钥文件的 base64 编码。为此,请运行以下命令:

cat KEY_FILE_LOCATION  | base64

其中,KEY_FILE_LOCATION 是服务帐号 JSON 密钥 文件的位置。

Gradle

将下面一行添加到 ~/.gradle/gradle.properties 文件中,使密钥在 build或源代码控制代码库中不可见。

artifactRegistryMavenSecret = KEY

KEY 替换为服务帐号 JSON 密钥文件中的私钥。对于 json_key_base64artifactRegistryMavenSecret 包含 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

将以下设置添加到 Maven 项目的 pom.xml 文件中的相应部分。请勿替换身份验证设置。

<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>

如需详细了解文件的结构,请参阅 Maven 的 POM 参考文档

Gradle

build.gradle 文件中指定以下代码库设置。请勿替换身份验证设置。

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

更新项目配置文件以添加依赖项

要在构建过程中下载工件,必须将制品声明为依赖项。

Maven

在 Maven 项目的 pom.xml 文件中声明您要下载的软件包。

<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'
}

访问 Assured OSS 中不可用的 Java 软件包

您可以访问 Assured OSS 的 Artifact Registry 代码库中不可用的软件包。

Assured OSS 经过预配置,将 Assured OSS 作为首选代码库,将规范化公共 代码库(例如 Maven Central 或 PyPI)作为次要代码库。如需使用 (预览版)功能,请指向以下网址:

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

列出 Assured OSS 中提供的所有 Java 软件包

如需使用 API 获取 Artifact Registry 代码库中提供的所有 Java 软件包的列表,请参阅 列出 Assured OSS 中提供的所有 Java 软件包

后续步骤