利用 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
相关推荐
CHHYQMGDCDZu7 分钟前
光伏系统参数
maven
Coder_Boy_42 分钟前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble1 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟1 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖1 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_12498707533 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_3 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.3 小时前
Day06——权限认证-项目集成
java
瑶山3 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy3 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法