#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 Запрос Язык