Я использую сервер Artifactory. Я пытаюсь сохранить папку сторонних файлов в моем репо.
Я смог загрузить zip-файл и взорвать его, чтобы мои файлы были в MY_REPO / MY_FOLDER /
Я пытаюсь рекурсивно загрузить содержимое папки, используя:
jfrog rt dl --recursive MY_REPO/MY_FOLDER
Я включил отладку и получаю:
[Info] Searching items to download...
[Debug] Searching Artifactory using AQL query:
items.find({"repo": "MY_REPO","path": {"$ne": "."},"$or": [{"$and":[{"path": {"$match": "MY_FOLDER"},"name": {"$match": "*"}}]},{"$and":[{"path": {"$match": "MY_FOLDER/*"},"name": {"$match": "*"}}]}]}).include("name","repo","path","actual_md5","actual_sha1","size","type","property")
[Error] Artifactory response: 405 Method Not Allowed
{
"status": "failure",
"totals": {
"success": 0,
"failure": 0
}
}
[Error] Download finished with errors. Please review the logs
У меня есть пробные варианты MY_FOLDER , MY_FOLDER / , MY_FOLDER / . и с / без рекурсии. Я получаю ту же ошибку.
Я знаю, что у меня есть разрешения, потому что я могу загрузить файл:
jfrog rt u TEST_FILE MY_FOLDER
просто отлично. Но я не могу повернуться и потянуть вниз:
jfrog rt dl MY_FOLDER/TEST_FILE
приводит к:
[Info] Searching items to download...
[Debug] Searching Artifactory using AQL query:
items.find({"repo": "MY_REPO","$or": [{"$and":[{"path": {"$match": "."},"name": {"$match": "MY_FILE"}}]}]}).include("name","repo","path","actual_md5","actual_sha1","size","type","property")
[Error] Artifactory response: 405 Method Not Allowed
{
"status": "failure",
"totals": {
"success": 0,
"failure": 0
}
}
[Error] Download finished with errors. Please review the logs
Я не уверен, что не работает, нет ничего в StackOverflow, JFrog Dox или где-либо еще с проблемами, связанными с использованием jfrog cli. : (*
Мой jfrog-cli.conf выглядит так:
{
"artifactory": [
{
"url": "https://SITE_NAME:PORT_NUM/artifactory/list/MY_REPO/",
"user": "USERNAME",
"serverId": "MY_REPO",
"isDefault": true,
"apiKey": "API_KEY_FROM_ARTIFACTORY"
}
],
"Version": "1"
}
ОБНОВЛЕНО Я работал под управлением версии 1.22.1 для Windows 64-бит. Я сейчас использую jfrog cli версии 1.34.1 для Windows 64-бит. В первом комментарии я обновился до последнего бинарного файла и попытался запустить поиск, как с MY_FOLDER, так и без него:
jfrog rt s TEST_FILE
и jfrog rt s MY_FOLDER/TEST_FILE
Оба возвращают одинаковые результаты. Я включил DEBUG, и с более новым двоичным файлом я действительно получаю две ошибки. Более старый двоичный файл только что сообщил об ошибке 405. Более новый сообщает 404 (не найдено), а затем сообщает об ошибке как метод 405. Не разрешено.
[Debug] Sending usage info...
[Info] Searching artifacts...
[Debug] Searching Artifactory using AQL query:
items.find({"$or":[{"$and":[{"repo":"TEST_FILE","path":{"$match":"*"},"name":{"$match":"*"}}]}]}).include("name","repo","path","actual_md5","actual_sha1","size","type","modified","created","property")
[Debug] Sending HTTP POST request to: https://SITE_NAME:8443/artifactory/list/MY_REPO/api/search/aql
[Debug] Sending HTTP GET request to: https://SITE_NAME:8443/artifactory/list/MY_REPO/api/system/version
[Debug] Artifactory response: 404 Not Found
{
"errors": [
{
"status": 404,
"message": "File not found."
}
]
}
[Error] Artifactory response: 405 Method Not Allowed
Это все еще странно, потому что я ищу файл, который я только что загрузил. Я даже удалил загруженный файл и повторно загруженный, чтобы проверить, что более новый клиент все еще может загружать файлы. Я пробовал поиск по шаблону, чтобы найти все файлы, но он возвратил ту же ошибку.
Я также вижу файл, где он должен быть используя веб-интерфейс Artifactory, и загрузите файл и удали его. Итак, Артефактори знает, что он там, и у меня есть к нему доступ. : - /