管理 Maven 软件包

本页面介绍如何添加、查看和删除 Java 软件包和软件包版本。

软件包管理目前为 Alpha 版。它仅适用于 Alpha 版用户,可能不包含容器管理可用的所有特性。若要申请 Alpha 版,请填写注册表单

准备工作

  1. 如果目标代码库不存在,请创建新代码库
  2. 验证您是否拥有访问代码库所需的权限
  3. 验证您是否已配置身份验证。如果您使用的是访问令牌,请确保在连接到代码库之前先刷新该令牌。
  4. (可选)为 gcloud 命令配置默认值

添加软件包

如需将软件包添加到代码库,请执行以下操作:

Maven

使用 mvn deploymvn release 将软件包添加到代码库。

若要成功部署一个引用父项目的 Maven 项目,该项目的核心扩展文件中必须包含 Artifact Registry Wagon 提供商,如扩展说明中所述。

使用 mvn deploy:deploy-file 上传在 Maven 之外构建的工件。

例如,此示例命令会将 example/external.jar 及其项目文件 example/pom.xml 部署到代码库 us-central1-maven.pkg.dev/my-project/my-repo

mvn deploy:deploy-file \
-Durl=artifactregistry://us-central1-maven.pkg.dev/my-project/my-repo \
-DpomFile=example/pom.xml -Dfile=example/external.jar

如需配置与 Cloud Build 的集成,请参阅与 Cloud Build 集成

Gradle

若要成功发布到代码库,您的 build.gradle 文件必须包含发布平台部分,用于定义要上传的文件。

使用 gradle publish 命令将软件包上传到代码库。

查看软件包和版本

如需使用 Google Cloud Console 或 gcloud 查看软件包和软件包版本,请执行以下操作:

控制台

  1. 在 Google Cloud Console 中打开代码库页面。

    打开代码库页面

  2. 在代码库列表中,点击相应代码库。

    软件包页面列出代码库中的软件包。

  3. 点击一个软件包以查看它的版本。

gcloud

如需列出代码库中的软件包,请运行以下命令:

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

其中

  • REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
  • LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。

如需查看软件包的版本,请运行以下命令:

gcloud artifacts versions list --package=PACKAGE [--repository=REPOSITORY] [--location=LOCATION]

其中

  • PACKAGE 是软件包的 ID 或软件包的完全限定标识符。
  • REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
  • LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。

某些软件包可能包含多个 WAR 或 JAR 文件。如需列出代码库中的所有文件,请运行以下命令:

gcloud auth login
curl -v -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-GFE-SSL: yes" \
https://artifactregistry.googleapis.com/v1beta2/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files

替换以下值:

  • PROJECT 是项目 ID。
  • LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
  • REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。

删除软件包和版本

如需删除软件包,请按如下所述操作:

控制台

  1. 在 Google Cloud Console 中打开代码库页面。

    打开代码库页面

  2. 在代码库列表中,点击相应代码库。

    软件包页面列出代码库中的软件包。

  3. 选择要删除的软件包。

  4. 点击删除

  5. 在确认对话框中,点击删除

gcloud

运行以下命令:

gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]

其中

  • REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
  • LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
  • --async 会立即返回结果,而无需等待正在进行的操作完成。

如需删除软件包的版本,请按如下所述操作:

控制台

  1. 在 Google Cloud Console 中打开代码库页面。

    打开代码库页面

  2. 在代码库列表中,点击相应代码库。

    软件包页面列出代码库中的软件包。

  3. 点击一个软件包以查看它的版本。

  4. 选择您要删除的版本。

  5. 点击删除

  6. 在确认对话框中,点击删除

gcloud

运行以下命令:

gcloud artifacts versions delete VERSION \
[--repository=REPOSITORY] [--location=LOCATION] [--async]

其中

  • REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
  • LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
  • --async 会立即返回结果,而无需等待正在进行的操作完成。

下载软件包

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

Maven

在项目 pom.xml 文件中声明您要下载的软件包。以下示例会将软件包 artifact 的 1.0 版声明为依赖项。

<dependencies>
    <dependency>
        <groupId>group</groupId>
        <artifactId>artifact</artifactId>
        <version>1.0</version>
    </dependency>
<dependencies>

如需详细了解 Maven 依赖项,请参阅 Maven 依赖项简介依赖项参考文档

Gradle

在项目 build.gradle 文件中声明您要下载的软件包。以下示例会将软件包 artifact 的 1.0 版声明为外部编译依赖项。

如需详细了解 Gradle 依赖项,请参阅 Gradle 文档

dependencies {
    compile group: 'group', name: 'artifact', version: '1.0'
}

后续步骤