利用 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
相关推荐
Java爱好狂.7 小时前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员
胡桃夹夹子8 小时前
存档111111111
java·开发语言
不会编程的小寒8 小时前
C++ 中string的用法
java·开发语言
乐悠小码8 小时前
Java设计模式精讲---02抽象工厂模式
java·设计模式·抽象工厂模式
数据的世界018 小时前
技术变革:为何C#与.NET是未来的开发方向
java·c#·.net
向上的车轮8 小时前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
脸大是真的好~8 小时前
黑马JAVAWeb-03 SpringBootWeb-分层解耦-三层架构-@SpringBootApplication注解-IOC控制反转-DI依赖注入
java
微露清风9 小时前
系统性学习C++-第十讲-stack 和 quene
java·c++·学习
一蓑烟雨任平生√9 小时前
两种上传图片的方式——91张先生
java·ossinsight
凤凰战士芭比Q9 小时前
部署我的世界-java版服务器-frp内网穿透
java·服务器