Статьи

Разместите артефакты Maven в облачном хранилище Google

Если вы используете Google Cloud и используете Java для своих проектов, то Google Cloud Storage — отличное место для размещения артефактов ваших команд.

Это легко установить и довольно дешево. Кроме того, это гораздо проще, чем установить один из существующих параметров хранилища (jfrog, nexus, archiva и т. Д.), Если вас не особенно интересуют их возможности.

Для начала вам нужно указать универсал maven, который поддерживает облачное хранилище Google. Мы будем использовать Google Storage Wagon .

Давайте начнем с создания проекта Maven

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

Мы собираемся добавить простой сервис.

1
2
3
4
5
6
7
8
9
package com.test.apps;
 
public class HelloService {
 
    public String sayHello() {
 
        return "Hello";
    }
}

Затем мы добавим универсал maven, который будет загружать и загружать наши двоичные файлы в облачное хранилище Google.

1
2
3
4
5
6
7
8
9
<build>
        <extensions>
            <extension>
                <groupId>com.gkatzioura.maven.cloud</groupId>
                <artifactId>google-storage-wagon</artifactId>
                <version>1.0</version>
            </extension>
        </extensions>
    </build>

Затем мы создадим хранилище облачного хранилища Google, в котором будут размещаться наши артефакты.

Наше ведро будет называться mavenrepository

Теперь, когда мы настроили наше ведро в google, мы установим управление распространением для нашего проекта maven.

01
02
03
04
05
06
07
08
09
10
<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 может загружать удаленные артефакты для использования в текущем проекте, то distributionManagement указывает, где (и как) этот проект попадет в удаленный репозиторий при его развертывании. Элементы репозитория будут использоваться для распространения моментальных снимков, если snapshotRepository не определен.

Следующий шаг является наиболее важным, и это связано с аутентификацией в облаке Google.

В вашей системе должна быть установлена ​​командная строка gcloud, и вы должны ввести логин
gcloud auth login –brief с учетной записью, имеющей доступ к корзине, которую мы создали ранее.
Другой способ — использовать переменную среды GOOGLE_APPLICATION_CREDENTIALS. Вы можете использовать этот GOOGLE_APPLICATION_CREDENTIALS, чтобы указать путь к файлу учетных данных приложения Google.
Файл учетных данных также должен иметь доступ к корзине, которую мы создали ранее.

А теперь самая легкая часть, которая развертывается.

1
mvn deploy

Теперь, когда ваш артефакт был развернут, вы можете использовать его в другом репо, указав свой репозиторий и свой вагон.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
<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 и использован в качестве зависимости в вашем новом проекте.

Опубликовано на Java Code Geeks с разрешения Эммануила Гкациоураса, партнера нашей программы JCG. Посмотрите оригинальную статью здесь: разместите свои артефакты Maven, используя Google Cloud Storage

Мнения, высказанные участниками Java Code Geeks, являются их собственными.