如何使用Google Cloud Storage托管Maven工件

來源: CSDN
作者:dnc8371
時間:2020-09-04
16653
如果您使用Google Cloud并將Java用于項目,那么Google Cloud Storage是托管團(tuán)隊工件的理想場所。

timg.jpg

如果您使用Google Cloud并將Java用于項目,那么Google Cloud Storage是托管團(tuán)隊工件的理想場所。

它很容易設(shè)置,而且很便宜。它比設(shè)置現(xiàn)有存儲庫選項(jfrog,nexus,archiva等)要簡單得多。

首先,您需要指定支持Google云存儲的Maven旅行車。我們將使用Google儲物車。

讓我們開始創(chuàng)建一個Maven項目

mvn archetype:generate-DgroupId=com.test.apps-DartifactId=GoogleWagonTest-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false

我們將添加一個簡單的服務(wù)。

package com.test.apps;

public class HelloService {

    public String sayHello() {

        return "Hello";
    }
}

然后,我們將添加Maven旅行車,該旅行車會將我們的二進(jìn)制文件上傳并提取到Google云存儲中。

<build>
        <extensions>
            <extension>
                <groupId>com.gkatzioura.maven.cloud</groupId>
                <artifactId>google-storage-wagon</artifactId>
                <version>1.0</version>
            </extension>
        </extensions>
    </build>

然后,我們將創(chuàng)建將托管我們的工件的Google云存儲桶。

我們的存儲桶稱為mavenrepository

現(xiàn)在,我們已經(jīng)在Google中設(shè)置了存儲分區(qū),我們將在我們的Maven項目中設(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)前項目使用的位置和方式的地方,而distributionManagement指定此項目在部署時將在何處(以及如何)到達(dá)遠(yuǎn)程存儲庫。如果未定義snapshotRepository,則存儲庫元素將用于快照分發(fā)。

下一步是最關(guān)鍵的,這與向Google Cloud進(jìn)行身份驗證有關(guān)。

您需要在系統(tǒng)中設(shè)置gcloud命令行,并且必須發(fā)出登錄名“gcloud auth login–brief”具有可以訪問我們之前創(chuàng)建的存儲桶的帳戶。另一種方法是使用GOOGLE_APPLICATION_CREDENTIALS環(huán)境變量。您可以使用此GOOGLE_APPLICATION_CREDENTIALS來設(shè)置Google應(yīng)用程序憑據(jù)文件的路徑。憑證文件還應(yīng)該能夠訪問我們之前創(chuàng)建的存儲桶。

現(xiàn)在是最容易部署的部分。

mvn deploy

現(xiàn)在,既然已經(jīng)部署了工件,則可以通過指定存儲庫和旅行車在另一個存儲庫中使用它。

<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云存儲下載,并用作新項目中的依賴項。

翻譯自: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)載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/dnc8371/article/details/106701892

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于CSDN,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家