На протяжении многих лет я видел, как многие команды использовали maven по-разному. Maven может использоваться для многих задач ci / cd вместо использования дополнительного конвейерного кода или для подготовки среды разработки перед запуском некоторых тестов.
Как правило, это удобный инструмент, широко используемый среди Java-команд и будет продолжаться, так как вокруг него огромная экосистема.
Плагин CloudStorage Maven поможет вам использовать различные облачные корзины в качестве частного хранилища maven. Недавно CloudStorageMaven для s3 получил огромное обновление, и вы можете использовать его для загрузки или выгрузки файлов из s3, используя его в качестве плагина.
Плагин предполагает, что ваша среда настроена правильно для доступа к необходимым ресурсам s3.
Это может быть достигнуто индивидуально через конфигурацию aws
|
1
|
aws configure |
Другие способы — через переменные среды или использование соответствующей роли iam.
Предположим, вы хотите загрузить некоторые определенные файлы из пути в s3.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<build> <plugins> <plugin> <groupId>com.gkatzioura.maven.cloud</groupId> <artifactId>s3-storage-wagon</artifactId> <version>1.6</version> <executions> <execution> <id>download-one</id> <phase>package</phase> <goals> <goal>s3-download</goal> </goals> <configuration> <bucket>your-bucket</bucket> <downloadPath>/local/download/path</downloadPath> <keys>1.txt,2.txt,directory/3.txt</keys> </configuration> </execution> <executions> <plugin> <plugins></build> |
Файлы 1.txt, 2.txt, directory / 3.txt после завершения выполнения должны находиться в указанном локальном каталоге.
(/ Местные / загрузки / путь).
Помните, что обнаружение файла на s3 выполняется с префиксом, поэтому, если у вас есть файл 1.txt и 1.txt.jpg, оба файла должны быть загружены.
Вы также можете загрузить только один файл в один файл, который вы указали локально, при условии, что это один к одному.
|
01
02
03
04
05
06
07
08
09
10
11
12
|
<execution> <id>download-prefix</id> <phase>package</phase> <goals> <goal>s3-download</goal> </goals> <configuration> <bucket>your-bucket</bucket> <downloadPath>/path/to/local/your-file.txt</downloadPath> <keys>a-key-to-download.txt</keys> </configuration> </execution> |
Очевидно, что файлы с префиксом, которые содержат каталоги (они являются поддельными на s3), будут загружены в каталог, указанный в форме каталогов и подкаталогов.
|
01
02
03
04
05
06
07
08
09
10
11
12
|
<execution> <id>download-prefix</id> <phase>package</phase> <goals> <goal>s3-download</goal> </goals> <configuration> <bucket>your-bucket</bucket> <downloadPath>/path/to/local/</downloadPath> <keys>s3-prefix</keys> </configuration> </execution> |
Следующая часть о загрузке файлов на s3.
Загрузка одного файла
|
01
02
03
04
05
06
07
08
09
10
11
12
|
<execution> <id>upload-one</id> <phase>package</phase> <goals> <goal>s3-upload</goal> </goals> <configuration> <bucket>your-bucket</bucket> <path>/path/to/local/your-file.txt</path> <key>key-to-download.txt</key> </configuration> </execution> |
Загрузить каталог
|
01
02
03
04
05
06
07
08
09
10
11
12
|
<execution> <id>upload-one</id> <phase>package</phase> <goals> <goal>s3-upload</goal> </goals> <configuration> <bucket>your-bucket</bucket> <path>/path/to/local/directory</path> <key>prefix</key> </configuration> </execution> |
Загрузить в корень ведра.
|
01
02
03
04
05
06
07
08
09
10
11
|
<execution> <id>upload-multiples-files-no-key</id> <phase>package</phase> <goals> <goal>s3-upload</goal> </goals> <configuration> <bucket>your-bucket</bucket> <path>/path/to/local/directory</path> </configuration> </execution> |
Это оно! Поскольку это проект с открытым исходным кодом, вы можете добавлять или отправлять запросы на получение пакетов на github .
|
Опубликовано на Java Code Geeks с разрешения Эммануила Гкациоураса, партнера нашей программы JCG. Смотрите оригинальную статью здесь: Загрузка и выгрузка файлов на S3 с помощью Maven. Мнения, высказанные участниками Java Code Geeks, являются их собственными. |