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