На протяжении многих лет я видел, как многие команды использовали 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, являются их собственными. |