在 Artifact Registry 中存储 Java 软件包
本快速入门介绍如何设置专用 Artifact Registry Maven 并向其中上传软件包
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Artifact Registry API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Artifact Registry API.
启动 Cloud Shell
在本快速入门中,您将使用 Cloud Shell,这是一个用于管理 Google Cloud 上托管资源的 Shell 环境。Cloud Shell 预装了 Google Cloud CLI 和 Java。gcloud CLI 提供了 Google Cloud 的主要命令行界面。
启动 Cloud Shell:
转到 Google Cloud 控制台。
在 Google Cloud 控制台工具栏中,点击激活 Cloud Shell:
控制台下方的框架内会打开一个 Cloud Shell 会话。您可以使用此 shell 运行 gcloud
命令。
创建 Java 软件包代码库
为 Java 工件创建代码库。- 创建代码库:
控制台
打开 Google Cloud 控制台中的制品库页面。
点击创建代码库。
指定
quickstart-java-repo
作为该代码库的名称。选择 Maven 作为格式,并选择 Standard 作为模式。
在位置类型下,选择区域,然后选择位置
us-central1
。点击创建。
该代码库会被添加到代码库列表中。
gcloud
运行以下命令,在位置
us-central1
中名为quickstart-java-repo
的当前项目中创建一个新的 Java 软件包代码库。gcloud artifacts repositories create quickstart-java-repo --repository-format=maven \ --location=us-central1 --description="Java package repository"
运行以下命令确认已创建代码库:
gcloud artifacts repositories list
如需详细了解 Artifact Registry 命令,请运行
gcloud artifacts
命令。
配置 Maven
选择要使用的简单 Maven 项目。
如果您没有简单的项目,您可以在 5 分钟内创建 Maven 项目。
本快速入门假设您的简单项目没有存储在 Artifact Registry 中的其他父级或插件依赖项。如需详细了解如何在 Artifact Registry 中配置具有依赖项的 Maven 项目,请参阅使用凭据帮助程序进行身份验证。
为了简化
gcloud
命令,请将默认代码库设置为quickstart-java-repo
,并将默认位置设置为us-central1
。设置以上值之后,您无需在需要代码库或位置的gcloud
命令中指定这些值。如需设置代码库,请运行以下命令:
gcloud config set artifacts/repository quickstart-java-repo
如需设置位置,请运行以下命令:
gcloud config set artifacts/location us-central1
如需详细了解这些命令,请参阅 gcloud config set 文档。
运行以下命令以输出默认
quickstart-java-repo
代码库的设置。gcloud artifacts print-settings mvn
gcloud
命令的输出类似于以下代码段,其中,PROJECT 是您的项目 ID。<distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-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.2.3</version> </extension> </extensions> </build>
将设置添加到 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>
您的 Maven 项目现在可以将软件包上传到您的代码库。
配置 Gradle
创建一个简单的 Gradle 项目,以将软件包部署到 Artifact Registry 您创建的代码库如果您没有测试 Gradle build,可以按照 入门级 Gradle 教程 创建简单的 Gradle build。为了简化 gcloud
命令,请将默认代码库设置为 quickstart-java-repo
,并将默认位置设置为 us-central1
。设置以上值之后,您无需在需要代码库或位置的 gcloud
命令中指定这些值。
如需设置代码库,请运行以下命令:
gcloud config set artifacts/repository quickstart-java-repo
如需设置位置,请运行以下命令:
gcloud config set artifacts/location us-central1
如需详细了解这些命令,请参阅 gcloud config set 文档。
将用于连接代码库的设置添加到
build.gradle
文件中。以下命令将输出要为默认quickstart-java-repo
代码库添加的设置。gcloud artifacts print-settings gradle
gcloud
命令的输出类似如下所示,其中,PROJECT 是您的项目 ID。plugins { id "maven-publish" id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.3" } publishing { repositories { maven { url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo" } } } repositories { maven { url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo" } }
验证
build.gradle
文件是否包含 publications 部分。如果没有,请将它添加到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-java-repo" } } }
您还可以将代码库配置添加到
init.gradle
或settings
个文件。如需详细了解这些选项,请参阅 设置身份验证。将软件包上传到代码库
对于 Maven,您可以使用
mvn deploy
和mvn release
将软件包添加到代码库中。对于 Gradle,请使用
gradle publish
命令将软件包上传到代码库。查看代码库中的软件包
如需验证您的软件包是否已添加到代码库中,请执行以下操作:控制台
打开 Google Cloud 控制台中的制品库页面。
在代码库列表中,点击
quickstart-java-repo
代码库。软件包页面列出代码库中的软件包。
gcloud
如需列出
quickstart-java-repo
代码库中的软件包,请运行以下命令:gcloud artifacts packages list --repository=quickstart-java-repo
输出将如下所示:
Listing items under project <project-id>, location us-central1,\ repository quickstart-java-repo. PACKAGE: maven.example.id:gradle-demo CREATE_TIME: 2022-01-20T22:46:07 UPDATE_TIME: 2022-01-20T22:46:07
其中
maven.example.id:gradle-demo
是软件包 ID如需查看软件包的版本,请运行以下命令:
gcloud artifacts versions list --package=PACKAGE
其中 PACKAGE 是软件包 ID。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
在移除代码库之前,请确保已在其他位置保存了您要保留的任何软件包。
如需删除代码库,请执行以下操作:
控制台
打开 Google Cloud 控制台中的制品库页面。
在代码库列表中,选择
quickstart-java-repo
代码库。点击删除。
gcloud
如需删除
quickstart-java-repo
代码库,请运行以下命令:gcloud artifacts repositories delete quickstart-java-repo
如果要移除您为活跃
gcloud
配置配置的默认代码库和位置设置,请运行以下命令:gcloud config unset artifacts/repository gcloud config unset artifacts/location
后续步骤
- 详细了解如何配置身份验证
- 了解如何管理代码库
- 了解如何管理软件包
- 阅读我们关于 DevOps 的资源,并了解我们的研究项目。