Динамически загружать файлы из Artifactory в зависимости от условия подстановки

#curl #wget #artifactory

#завиток #wget #артефакторный

Вопрос:

У меня есть цикл, который будет загружать один или несколько файлов в artifactory, как показано ниже:

     if [ "${consider_kinds}" = "all" ] || [ "${consider_kinds}" = "serviceaccounts" ]
            then
                    echo "Uploading source serviceaccounts"
                    cd "${HOME}"/sync-cluster/${consider_namespace}/serviceaccounts || exit
                    for file in *.yaml
                    do
                            if [ -e "$file" ]
                            then
                                    curl --user "${deploy_user}:${deploy_user_password}" -XPUT "https://testcompany.com.au/test-virtual-repo/sync-cluster/" -H "Content-Type: application/json" -T "${file}"
                                    break
                            fi
                    done
            fi
 

Имя файла будет выглядеть следующим образом:

 ${BUILD_NUMBER}-${source_cluster}-${consider_namespace}-${resource}-${item}.yaml
 

Примеры имен файлов могут быть такими:

 120-ntive-src-cluster-sit1-serviceaccounts-default-hssjjs.yaml
120-ntive-src-cluster-sit1-serviceaccounts-pod-labeller-abc.yaml
 

Итак, как составить список удаленных файлов (0 или 1 или более), а затем загрузить их — вот мой вопрос?

Если бы это был всего лишь один файл, я мог бы загрузить его, как показано ниже:

 wget "https://testcompany.com.au/test-virtual-repo/sync-cluster/${BUILD_NUMBER}-${source_cluster}-${consider_namespace}.json"
 

Чего я не знаю, так это как загружать их динамически! 🙁

Ответ №1:

Этого можно легко достичь с помощью JFrog CLI together file specs или AQL и с помощью заполнителей. В официальном документе JFrog CLI приведено несколько примеров такого сценария.

Комментарии:

1. Я знаю об этом, но у нас снова не установлен jfrog cli по одной из многих причин, а также предстоящие развертывания, поэтому мне нужно использовать curl. Есть ли какой-нибудь способ сделать это с помощью curl?

2.Это не проблема — вы все равно можете использовать curl для запуска запросов AQL для поиска артефактов в соответствии с вашими критериями поиска, а затем загружать их на основе указанного пути. Смотрите соответствующую документацию: jfrog.com/confluence/display/JFROG/…jfrog.com/confluence/display/JFROG/Artifactory Запрос Язык