Странное поведение при загрузке артефактов при использовании JFrog CLI

#devops #artifactory #jfrog-cli

#devops #артефактор #jfrog-cli

Вопрос:

Я обнаружил это действительно странное поведение при использовании JFrog CLI для загрузки.
Хорошо, давайте начнем с загрузки: когда я хочу загрузить полную иерархию каталогов, скажем, у меня есть такая структура:

 root
│
└───Folder1
    └───Folder2
        │   file1
        │   file2
        │   file3
        │
        └───Folder3
                nested1
                nested2
                nested3

  

И я хочу загрузить содержимое Folder2 (пока мое местоположение находится в корневом каталоге!) и все его подкаталоги и файлы в `MyRepo / myPath’, поэтому мой репозиторий будет выглядеть так:

 
MyRepo
    └───MyPath
        │   file1
        │   file2
        │   file3
        │
        └───Folder3
                nested1
                nested2
                nested3

  

Если я попробую это:

 jfrog rt upload --flat=false Folder1/Folder2/ MyRepo/MyPath/ 
  

Я останусь Folder1/Folder2 в своей иерархии в Artifactory, и это не то, чего я хочу, поэтому я использую заполнители:

Я выполню следующую команду:

 jfrog rt upload --flat=false "Folder1/Folder2/(*)" MyRepo/MyPath/{1} 
  

Это работает хорошо, и я могу понять логику: --flat=false так что nested* файлы останутся в Folder3 каталоге, тогда file* как файлы будут находиться в Folder2 каталоге, а
заполнители говорят: возьмите все, что есть, Folder1/Folder2 и скопируйте его MyRepo/MyPath . Идеально!

Пытаюсь выполнить обратное, то есть загрузить, используя ту же логику: скажем, я хочу загрузить все MyPath в Folder1/Folder2 каталог, в котором я нахожусь, поэтому я получу первую структуру, нарисованную выше, я пытаюсь это:

 jfrog rt download --flat=flase "MyRepo/MyPath/(*)" Folder1/Folder2/{1} 
  

Но это создает действительно странную структуру каталогов, которую я даже не хочу здесь рисовать. Решение состояло в том, чтобы использовать flat=true вместо flat=false того, что действительно неинтуитивно и вообще непонятно. Может кто-нибудь объяснить это поведение или, по крайней мере, направить меня к тому, кому в JFrog мне нужно сообщить об этом?

Ответ №1:

Это действительно ошибка. Я только что отправил эту ошибку сюда — https://github.com/jfrog/jfrog-cli/issues/883

Проблема связана с функцией заполнителей. JFrog CLI, похоже, неправильно интерпретирует правильное определение —flat, когда оно используется вместе с заполнителями в команде «загрузка jfrog rt». Я считаю, что эта проблема будет решена очень скоро.

Большое спасибо, что поделились этим!