如果您使用Google Cloud并將Java用于項(xiàng)目,那么Google Cloud Storage是托管團(tuán)隊(duì)工件的理想場(chǎng)所。
它很容易設(shè)置,而且很便宜。它比設(shè)置現(xiàn)有存儲(chǔ)庫選項(xiàng)(jfrog,nexus,archiva等)要簡(jiǎn)單得多。
首先,您需要指定支持Google云存儲(chǔ)的Maven旅行車。我們將使用Google儲(chǔ)物車。
讓我們開始創(chuàng)建一個(gè)Maven項(xiàng)目
mvn archetype:generate-DgroupId=com.test.apps-DartifactId=GoogleWagonTest-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false
我們將添加一個(gè)簡(jiǎn)單的服務(wù)。
package com.test.apps; public class HelloService { public String sayHello() { return "Hello"; } }
然后,我們將添加Maven旅行車,該旅行車會(huì)將我們的二進(jìn)制文件上傳并提取到Google云存儲(chǔ)中。
<build> <extensions> <extension> <groupId>com.gkatzioura.maven.cloud</groupId> <artifactId>google-storage-wagon</artifactId> <version>1.0</version> </extension> </extensions> </build>
然后,我們將創(chuàng)建將托管我們的工件的Google云存儲(chǔ)桶。
我們的存儲(chǔ)桶稱為mavenrepository
現(xiàn)在,我們已經(jīng)在Google中設(shè)置了存儲(chǔ)分區(qū),我們將在我們的Maven項(xiàng)目中設(shè)置分發(fā)管理。
<distributionManagement> <snapshotRepository> <id>my-repo-bucket-snapshot</id> <url>gs://mavenrepository/snapshot</url> </snapshotRepository> <repository> <id>my-repo-bucket-release</id> <url>gs://mavenrepository/release</url> </repository> </distributionManagement>
正如repositories元素在POM中指定Maven可以下載遠(yuǎn)程工件以供當(dāng)前項(xiàng)目使用的位置和方式的地方,而distributionManagement指定此項(xiàng)目在部署時(shí)將在何處(以及如何)到達(dá)遠(yuǎn)程存儲(chǔ)庫。如果未定義snapshotRepository,則存儲(chǔ)庫元素將用于快照分發(fā)。
下一步是最關(guān)鍵的,這與向Google Cloud進(jìn)行身份驗(yàn)證有關(guān)。
您需要在系統(tǒng)中設(shè)置gcloud命令行,并且必須發(fā)出登錄名“gcloud auth login–brief”具有可以訪問我們之前創(chuàng)建的存儲(chǔ)桶的帳戶。另一種方法是使用GOOGLE_APPLICATION_CREDENTIALS環(huán)境變量。您可以使用此GOOGLE_APPLICATION_CREDENTIALS來設(shè)置Google應(yīng)用程序憑據(jù)文件的路徑。憑證文件還應(yīng)該能夠訪問我們之前創(chuàng)建的存儲(chǔ)桶。
現(xiàn)在是最容易部署的部分。
mvn deploy
現(xiàn)在,既然已經(jīng)部署了工件,則可以通過指定存儲(chǔ)庫和旅行車在另一個(gè)存儲(chǔ)庫中使用它。
<repositories> <repository> <id>my-repo-bucket-snapshot</id> <url>gs://mavenrepository/snapshot</url> </repository> <repository> <id>my-repo-bucket-release</id> <url>gs://mavenrepository/release</url> </repository> </repositories> <build> <extensions> <extension> <groupId>com.gkatzioura.maven.cloud</groupId> <artifactId>google-storage-wagon</artifactId> <version>1.0</version> </extension> </extensions> </build>
下一步,您的工件將被maven通過Google云存儲(chǔ)下載,并用作新項(xiàng)目中的依賴項(xiàng)。
翻譯自:https://www.javacodegeeks.com/2018/04/host-your-maven-artifacts-using-google-cloud-storage.html
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/dnc8371/article/details/106701892