В моей предыдущей статье я описал, как настроить частный репозиторий Maven в Amazon S3 и развернуть его через Rultor . Это отличное решение, если вы знакомы с управлением Amazon Web Services (AWS), S3 и AWS Identity and Access Management (IAM) . Однако, если вам неудобно администрировать учетную запись AWS и все связанные разрешения, вы можете вместо этого сохранить свои артефакты Apache Maven в каком-либо облачном диспетчере хранилища. Вот как вы заставляете Rultor развертывать ваши зависимости Maven в CloudRepo . Я написал этот пост вместе с Крисом Шелленбаргером , их основателем.
Как менеджеры хранилища, так и S3 позволят вашим инструментам сборки хранить и извлекать ваши библиотеки программного обеспечения в удаленном хранилище или корзине. Однако менеджеры репозитория позаботятся о большой работе, которую вам придется выполнять самостоятельно с помощью решения S3.
Несмотря на то, что AWS достаточно надежен и может быть настроен на все, что может делать менеджер хранилища, существуют варианты использования, которые работают прямо из коробки при выборе полностью управляемого решения, такие как: Администрирование пользователей / групп, Определенные виды Maven, Webhooks, Уведомления Журналы доступа и аудита, Полностью управляемая безопасность и т. Д. Проще говоря, они не просто хранилища файлов JAR, но хранилища Maven в облаке.
Предполагая, что вы создали учетную запись в CloudRepo и настроили как пользовательский, так и maven репозиторий , для развертывания в CloudRepo необходимо выполнить два шага на стороне клиента: 1) настроить файл settings.xml
с учетными данными и 2) добавить свой репозиторий в ваш pom.xml
раздел <distributionManagement>
файла.
Расположение по умолчанию для файла settings.xml
находится в каталоге ~/.m2
. Отредактируйте этот файл и убедитесь, что у вас есть запись <server>
как показано ниже:
1
2
3
4
5
6
7
8
9
|
<settings> <servers> <server> <id>io.cloudrepo</id> <username>yegor256 @gmail .com</username> <password>my-secret</password> </server> </servers> </settings> |
Объявив server
и указав id
, вы можете ссылаться на id
из ваших файлов POM Maven. Когда Maven пытается выполнить аутентификацию на сервере, он ищет соответствующий ключ в файле settings.xml
.
Если вы беспокоитесь о сохранении пароля в текстовом формате в вашей файловой системе, проверьте, как Maven рекомендует это исправить.
Теперь, когда ваши учетные данные установлены, вы должны указать свой pom.xml
в вашем репозитории CloudRepo. Добавьте новый элемент <repository>
в раздел <distributionManagement>
(для их загрузки) вашего pom.xml
и в <repositories>
(для их загрузки):
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
<project> [...] <repositories> <repository> <id>io.cloudrepo</id> <url>https: //[your-org-name].mycloudrepo.io/repositories/[your-repository-name]</url> </repository> </repositories> [...] <distributionManagement> <repository> <id>io.cloudrepo</id> <name>CloudRepo Maven Repository</name> <url>https: //[your-org-name].mycloudrepo.io/repositories/[your-repository-name]</url> </repository> </distributionManagement> </project> |
Если у вас есть сборка, работающая в вашей локальной среде, вам необходимо развернуть ее в рабочей среде с помощью Rultor. Во-первых, вам нужно хранить свои учетные данные в Git, чтобы Rultor мог получить к ним доступ во время сборки и развертывания. Однако очень важно никогда не сохранять свои учетные данные в виде открытого текста в системе управления версиями (замените имя вашего проекта GitHub на my/project
):
1
2
|
$ gem install rultor $ rultor encrypt -p my/project settings.xml |
Это создает зашифрованную версию вашего файла настроек с именем settings.xml.asc
. Добавьте этот файл в корневой каталог вашего проекта, затем подтвердите и нажмите. Это безопасно. Только Rultor имеет ключи для расшифровки этого файла, поэтому даже если ваш исходный код открыт для других, ваши учетные данные будут в безопасности.
Чтобы включить Rultor, добавьте файл .rultor.yml
в корневой каталог вашего проекта со следующим содержимым:
1
2
3
4
5
|
decrypt: settings.xml: "repo/settings.xml.asc" deploy: script: | mvn clean deploy --settings ../settings.xml |
Для получения дополнительной информации о файле .rultor.yml
проверьте страницу справки Rultor .
Теперь, когда все настроено, вы сможете развернуть в CloudRepo с помощью Rultor, выполнив команду @rultor deploy
. Дождитесь ответа и Рултор позаботится обо всем остальном.
Это оно!
Опубликовано на Java Code Geeks с разрешения Егора Бугаенко, партнера нашей программы JCG . См. Оригинальную статью здесь: Как развернуть артефакты Maven в CloudRepo через Rultor Мнения, высказанные участниками Java Code Geeks, являются их собственными. |