Curl 根据通配符条件从Artifactory动态下载文件

Curl 根据通配符条件从Artifactory动态下载文件,curl,wget,artifactory,Curl,Wget,Artifactory,我有一个将一个或多个文件上传到artifactory的循环,如下所示: if [ "${consider_kinds}" = "all" ] || [ "${consider_kinds}" = "serviceaccounts" ] then echo "Uploading source serviceaccounts"

我有一个将一个或多个文件上传到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
示例文件名可以如下所示:

${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"

我不知道的是如何动态下载它们!:(

这可以通过使用JFrog CLI文件规范或AQL以及占位符轻松实现。
JFrog CLI中有多个此类场景的示例。

我知道这一点,但由于许多原因之一,我们没有再次安装JFrog CLI,而且部署也即将到来,因此我需要使用curl。有没有办法通过curl来实现这一点?这不是一个问题-您仍然可以使用curl运行AQL查询来搜索每个人的工件r搜索条件,然后根据给定的路径下载。请参阅相关文档: