Если вы используете 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, являются их собственными. |
