如何将 java 项目的 Maven 工件部署/托管到 Google Cloud Storage?

Pet*_*ams 2 java spring maven google-cloud-platform

我们有一个基于 Spring 的多个项目。我们正在将 Spring Boot 应用程序部署到 Google Cloud Platform。我们需要构建一个 Maven 工件,以便我们可以将工件用于多个基于 spring 的项目。

Alt*_*ava 5

为此,您可以使用google-storage-wagon maven 依赖项。这真是一篇很棒的文章如何将项目的 Maven 工件部署/托管到 Google Cloud Storage?. 如果你会遵循一些步骤,那么你肯定会实现你的目标。

第 1 步:创建一个要为其构建 Maven 工件的项目。 mvn archetype:generate -DgroupId=com.javaaltaf -DartifactId=SMSGateway -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

第 2 步:现在创建一个简单的类用于测试目的。顺便说一句,根据您的要求,您可以创建多个类。

public class MessageSender {
 public String sendSMS(String mobile, String message) {
  return "SMS sending....to " + mobile + "  with messsage=" + message;
 }
}
Run Code Online (Sandbox Code Playgroud)

第 3 步:您必须在 Emmanouil Gkatziouras 提供的 pom.xml 中的标签内添加扩展。您可以从这里下载最新的 google-storage-wagon 。这将向/从 Google Cloud Storage 上传和下载我们的工件。

<build>
  <extensions>
   <extension>
    <groupId>com.gkatzioura.maven.cloud</groupId>
    <artifactId>google-storage-wagon</artifactId>
    <version>1.6</version>
   </extension>
  </extensions>
</build>
Run Code Online (Sandbox Code Playgroud)

第 4 步:现在通过 Menu->Storage->Browser 创建一个 Bucket。之后转到概述部分并复制 gsutil URL。现在将bucket信息设置到pom.xml中,这样maven就可以了解artifact的去向了。为此,您必须添加 紧随其后的标签 标签。

<distributionManagement>
  <snapshotRepository>
   <id>mysms-snapshot</id>
   <url>gs://altafsms/snapshot</url>
  </snapshotRepository>
  <repository>
   <id>mysms-release</id>
   <url>gs://altafsms/release</url>
  </repository>
 </distributionManagement>
Run Code Online (Sandbox Code Playgroud)

第 5 步:您应该已经安装了Google Cloud SDK。如果没有,那么你需要安装。安装后,您需要登录 GCS。你可以使用命令gcloud auth application-default login

第 6 步:最后使用命令mvn deploy将您的 maven 工件部署到谷歌云存储中。

第 7 步:您必须添加相同的 到您已经在上一个项目中添加的 pom.xml 中。

<build>
<extensions>
 <extension>
  <groupId>com.gkatzioura.maven.cloud</groupId>
  <artifactId>google-storage-wagon</artifactId>
  <version>1.6</version>
 </extension>
</extensions>
</build>
Run Code Online (Sandbox Code Playgroud)

之后,在您的 pom.xml 文件中添加早期项目的 GAV(groupId, artifact id, version) 作为标记,您就完成了。有关完整信息,您可以阅读此博客如何将项目的 maven 工件部署/托管到 Google Cloud Storage?.