利用 Google Artifact Repository 构建maven jar 存储仓库

参考了google 官方文档

https://cloud.google.com/artifact-registry/docs/java/store-java#gcloud_1

首先 enable GAR api

bash 复制代码
gcloud services enable artifactregistry.googleapis.com
gcloud services list | grep -i artifact
artifactregistry.googleapis.com      Artifact Registry API

其次创建1个maven 仓库

gcloud artifacts repositories create java-repo --repository-format=maven --location=eurepo-west2 --description="Java package repository"

bash 复制代码
> gcloud artifacts repositories create java-repo --repository-format=maven --location=europe-west2 --description="Java package repository"
Create request issued for: [java-repo]
Waiting for operation [projects/jason-hsbc/locations/europe-west2/operations/a171307f-627c-471f-bd5d-0ad647237b5e] to complete...done.                                                               
Created repository [java-repo].

用如下命令来list 已有的仓库

bash 复制代码
> gcloud artifacts repositories list
Listing items under project jason-hsbc, across all locations.

                                                                                                                      ARTIFACT_REGISTRY
REPOSITORY      FORMAT  MODE                 DESCRIPTION                                                                                 LOCATION      LABELS                          ENCRYPTION          CREATE_TIME          UPDATE_TIME          SIZE (MB)
gcf-artifacts   DOCKER  STANDARD_REPOSITORY  This repository is created and used by Cloud Functions for storing function docker images.  europe-west2  goog-managed-by=cloudfunctions  Google-managed key  2023-11-05T04:54:28  2023-11-05T04:56:07  744.026
java-repo       MAVEN   STANDARD_REPOSITORY  Java package repository                                                                     europe-west2                                  Google-managed key  2023-11-11T03:21:31  2023-11-11T03:21:31  0
my-docker-repo  DOCKER  STANDARD_REPOSITORY                                                                                              europe-west2                                  Google-managed key  2023-09-09T17:01:40  2023-09-09T17:01:40  0

打印maven仓库设置,

bash 复制代码
> gcloud artifacts print-settings mvn --location=europe-west2 --repository=java-repo
<!-- Insert following snippet into your pom.xml -->

<project>
  <distributionManagement>
    <snapshotRepository>
      <id>artifact-registry</id>
      <url>artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo</url>
    </snapshotRepository>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo</url>
    </repository>
  </distributionManagement>

  <repositories>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo</url>
      <releases>z
        <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.0</version>
      </extension>
    </extensions>
  </build>
</project>

把上面的内容insert 到maven 项目的pom.xml中

执行mvn deploy 部署jar 到GAR

mvn deploy -Dhttps.proxyHost=10.0.1.223 -Dhttps.proxyPort=7890 -Dhttp.proxyHost=10.0.1.223 -Dhttp.proxyPort=7890

bash 复制代码
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ helloservice ---
[INFO] Building jar: /home/gateman/Projects/spring-boot-for-cloud-run/target/helloservice-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ helloservice ---
[INFO] Installing /home/gateman/Projects/spring-boot-for-cloud-run/target/helloservice-0.0.1-SNAPSHOT.jar to /home/gateman/.m2/repository/com/home/cloudrun/helloservice/0.0.1-SNAPSHOT/helloservice-0.0.1-SNAPSHOT.jar
[INFO] Installing /home/gateman/Projects/spring-boot-for-cloud-run/pom.xml to /home/gateman/.m2/repository/com/home/cloudrun/helloservice/0.0.1-SNAPSHOT/helloservice-0.0.1-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ helloservice ---
Downloading from artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/maven-metadata.xml
[INFO] Initializing Credentials...
[INFO] Using Application Default Credentials.
[INFO] Refreshing Credentials...
Downloaded from artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/maven-metadata.xml (780 B at 665 B/s)
Uploading to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/helloservice-0.0.1-20231110.203247-2.jar
Uploaded to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/helloservice-0.0.1-20231110.203247-2.jar (4.1 kB at 3.9 kB/s)
Uploading to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/helloservice-0.0.1-20231110.203247-2.pom
Uploaded to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/helloservice-0.0.1-20231110.203247-2.pom (3.1 kB at 3.2 kB/s)
Downloading from artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/maven-metadata.xml
Downloaded from artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/maven-metadata.xml (290 B at 531 B/s)
Uploading to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/maven-metadata.xml
Uploaded to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/0.0.1-SNAPSHOT/maven-metadata.xml (780 B at 944 B/s)
Uploading to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/maven-metadata.xml
Uploaded to artifact-registry: artifactregistry://europe-west2-maven.pkg.dev/jason-hsbc/java-repo/com/home/cloudrun//helloservice/maven-metadata.xml (290 B at 451 B/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  12.191 s
[INFO] Finished at: 2023-11-10T20:32:51Z
[INFO] ------------------------------------------------------------------------

上传成功

bash 复制代码
gateman@instance-2:~/Projects/spring-boot-for-cloud-run$ gcloud artifacts packages list --repository=java-repo --location=europe-west2
Listing items under project jason-hsbc, location europe-west2, repository java-repo.

PACKAGE                         CREATE_TIME          UPDATE_TIME
com.home.cloudrun:helloservice  2023-11-10T19:56:17  2023-11-10T20:32:48
相关推荐
燕山石头5 分钟前
解决 IntelliJ IDEA Build时 Lombok 不生效问题
java·前端·intellij-idea
Asu520213 分钟前
链表反转中最常用的方法————三指针法
java·数据结构·学习·链表
cici1587443 分钟前
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
java·linux·hadoop
孫治AllenSun1 小时前
【Mysql】联合索引生效分析案例
java·数据库·mysql
我命由我123451 小时前
Spring Boot 项目问题:Web server failed to start. Port 5566 was already in use.
java·前端·jvm·spring boot·后端·spring·java-ee
书唐瑞1 小时前
Percona pt-archiver 出现数据不对等
java·服务器·数据库
CHEN5_021 小时前
【Java面试题】缓存穿透
java·开发语言·数据库·redis·缓存
XMYX-01 小时前
Java HTTPS 请求失败排查与证书导入全过程
java·https
北_鱼1 小时前
设计模式1:创建型模式
java·设计模式·软件工程·代码规范·设计规范
惜鸟2 小时前
Mockito 的常见核心功能及注意事项
java·mockito