Maven 和 Gradle 快速入门

本快速入门介绍如何设置 Artifact Registry Maven 代码库并向其上传软件包。

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

准备工作

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  4. 启用 Artifact Registry API。

    启用 API

  5. 安装并初始化 Cloud SDK
  6. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  7. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  8. 启用 Artifact Registry API。

    启用 API

  9. 安装并初始化 Cloud SDK

创建 Maven 代码库

为 Java 工件创建代码库。

  1. 创建代码库:

    控制台

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

      打开代码库页面

    2. 点击创建代码库

    3. 指定 quickstart-maven-repo 作为代码库名称。

    4. 选择 Maven 作为格式。

    5. 位置类型下,选择区域,然后选择位置 us-central1

    6. 点击创建

    该代码库会被添加到代码库列表中。

    gcloud

    1. 运行以下命令,在位置 us-central1 的当前项目 quickstart-maven-repo 中创建一个新的 Maven 代码库。

      gcloud artifacts repositories create quickstart-maven-repo --repository-format=maven \
      --location=us-central1 [--description="Maven repository"]
      
    2. 运行以下命令确认已创建代码库:

      gcloud artifacts repositories list

    如需详细了解 Artifact Registry 命令,请运行 gcloud artifacts 命令。

  2. 为了简化 gcloud 命令,请将默认代码库设置为 quickstart-maven-repo,并将默认位置设置为 us-central1。设置以上值之后,您无需在需要代码库或位置的 gcloud 命令中指定这些值。

    如需设置代码库,请运行以下命令:

    gcloud config set artifacts/repository quickstart-maven-repo
    

    如需设置位置,请运行以下命令:

    gcloud config set artifacts/location us-central1
    

    如需详细了解这些命令,请参阅 gcloud config set 文档。

为客户端设置服务帐号

  1. 创建一个服务帐号代表您的应用执行操作,或选择一个现有服务帐号用于进行自动化。

    您需要服务帐号密钥文件所在的位置,才能使用 Artifact Registry 设置身份验证。对于现有帐号,您可以在“服务帐号”页面上查看密钥和创建新密钥。

    转到“服务帐号”页面

  2. 为服务帐号授予您的代码库的读写访问权限。

    gcloud artifacts repositories add-iam-policy-binding \
    quickstart-maven-repo --location=us-central1 --member='serviceAccount:ACCOUNT' --role='roles/artifactregistry.writer'
    

    其中,ACCOUNT 是服务帐号的 ID,格式为 USERNAME@PROJECT-ID.iam.gserviceaccount.com

  3. 将服务帐号密钥文件分配给变量 GOOGLE_APPLICATION_CREDENTIALS,以便 Artifact Registry 凭据帮助程序可在与代码库连接时获取您的密钥。

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    其中,KEY-FILE 是服务帐号密钥文件的路径。

    如需了解如何改用服务帐号密钥文件来设置密码身份验证,请参阅 authentication#auth-password 文档。

配置 Maven

  1. 选择您要使用的 Maven 项目。

    如果您没有简单的项目,您可以在 5 分钟内创建 Maven 项目

  2. 运行以下命令以输出默认 quickstart-maven-repo 代码库的设置。

    gcloud artifacts print-settings mvn
    

    gcloud 命令的输出类似于以下代码段,其中,PROJECT 是您的项目 ID。

    <distributionManagement>
      <snapshotRepository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
      </snapshotRepository>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
      </repository>
    </distributionManagement>
    
    <repositories>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-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.1.1</version>
        </extension>
      </extensions>
    </build>
    
  3. 将设置添加到 Maven 项目的 pom.xml 文件中。以下概览显示了每个主要元素的相对位置。如需详细了解文件的结构,请参阅 Maven 的 POM 参考文档

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

配置 Gradle

  1. 创建一个简单的 Gradle 项目以将软件包部署到您创建的 Artifact Registry 代码库。如果您没有测试 Gradle 构建,则可以按照入门级 Gradle 教程中的说明创建一个简单的 Gradle 构建。

  2. 为了简化 gcloud 命令,请将默认代码库设置为 quickstart-maven-repo,并将默认位置设置为 us-central1。设置以上值之后,您无需在需要代码库或位置的 gcloud 命令中指定这些值。

    如需设置代码库,请运行以下命令:

    gcloud config set artifacts/repository quickstart-maven-repo
    

    如需设置位置,请运行以下命令:

    gcloud config set artifacts/location us-central1
    

    如需详细了解这些命令,请参阅 gcloud config set 文档。

  3. 将用于连接到代码库的设置添加到 build.gradle 文件中。以下命令将输出要为默认 quickstart-maven-repo 代码库添加的设置。

    gcloud artifacts print-settings gradle
    

    gcloud 命令的输出类似如下所示,其中,PROJECT 是您的项目 ID。

    plugins {
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.1.1"
    }
    
    publishing {
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
        }
      }
    }
    
    repositories {
      maven {
        url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
      }
    }
    
  4. 验证 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-maven-repo"
        }
      }
    }
    

您还可以将代码库配置添加到 init.gradlesettings 文件中。如需详细了解这些选项,请参阅设置身份验证

将软件包上传到代码库

对于 Maven,您可以使用 mvn deploymvn release 将软件包添加到代码库中。

对于 Gradle,请使用 gradle publish 命令将软件包上传到代码库。

查看代码库中的软件包

如需验证您的软件包是否已添加到代码库中,请执行以下操作:

控制台

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

    打开代码库页面

  2. 在代码库列表中,点击 quickstart-maven-repo 代码库。

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

gcloud

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

 gcloud artifacts packages list --repository=quickstart-maven-repo

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

gcloud artifacts versions list --package=PACKAGE

其中,PACKAGE 是软件包 ID。

清理

为避免系统因本快速入门中使用的资源向您的 Google Cloud 帐号收取费用,请按照以下步骤操作。

在移除代码库之前,请确保您要保留的任何软件包在其他位置提供。

如需删除代码库,请执行以下操作:

控制台

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

    打开“代码库”页面

  2. 在代码库列表中,选择 quickstart-maven-repo 代码库。

  3. 点击删除

gcloud

  1. 如需删除 quickstart-maven-repo 代码库,请运行以下命令:

    gcloud artifacts repositories delete quickstart-maven-repo
    
  2. 如果要移除您为活跃 gcloud 配置配置的默认代码库和位置设置,请运行以下命令:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

后续步骤