Я использую Artifactory для хранения артефактов сборки в моем конвейере CICD.
Я написал сценарий для артефакта pu sh в хранилище с помощью вызова API cURL в сценарии PowerSHell:
curl.exe -H "X-JFrog-Art-Api: $apiKey" -X PUT $repoUrl -T $artifactFilePath
Это успешно выполнено, и файл артефакта помещен в указанный репозиторий Artifactory, как и ожидалось.
Позже я попытался загрузить тот же файл артефакта, используя следующий вызов API cURL:
curl.exe -H "X-JFrog-Art-Api: $apiKey" -X GET $artifactUrl
Несмотря на то, что я могу просматривать Артефакт GUI и ясно видеть файл артефакта в под-репозитории, выполнение запроса GET возвращает:
{
"errors" : [ {
"status" : 404,
"message" : "File not found."
} ]
}
Я проверил и дважды проверил, что он правильный путь к хранилищу (он соответствует пути в начальном запросе на загрузку). Я использовал один и тот же ключ API для каждого запроса и подтвердил, что соответствующий функциональный идентификатор имеет права на чтение, запись, аннотацию и удаление в хранилище.
Я работаю с этим уже несколько часов и до сих пор не смогли определить или решить проблему. Инсайты или советы по этому вопросу были бы весьма желательны.
ОБНОВЛЕНИЕ:
Выполнение запроса cURL с ключом -v- для подробных выходных данных:
- Подключено к www. [Artifactory URL]. net (169.177.244.86) порт 443 (# 0)
- schannel: соединение SSL / TLS с www. [Artifactory URL]. net порт 443 (шаг 1/3)
- schannel: проверка отзыва сертификата сервера
- schannel: отправка начальных данных квитирования: отправка 201 байтов ...
- schannel: отправка начальных данных квитирования: отправлено 201 байт
- schannel: соединение SSL / TLS с www. [Artifactory URL]. net порт 443 (шаг 2/3)
- schannel: не удалось получить рукопожатие, нужно больше данных
- schannel: соединение SSL / TLS с www. [Artifactory URL]. net порт 443 (шаг 2/3)
- schannel: зашифрованные данные получены 2415
- schannel : буфер зашифрованных данных: смещение 2415, длина 4096
- schannel: отправка данных следующего квитирования: отправка 126 байтов ... * 10 44 *
- schannel: соединение SSL / TLS с www. [Artifactory URL]. net порт 443 (шаг 2/3)
- schannel: зашифрованные данные получены 290
- schannel: буфер зашифрованных данных: смещение 290, длина 4096
- канал: SSL / TLS квитирование завершено
- канал: соединение SSL / TLS с www. [Artifactory URL]. net порт 443 (шаг 3 / 3)
- schannel: сохраненный дескриптор учетных данных в кэше сеанса
GET / [Artifactory репо] / [путь репозитория Artifactory] / [имя файла артефакта] .txt HTTP / 1.1 Хост: www. [ Artifactory URL] .net User-Agent: curl / 7.55.1 Принимать: / X-JFrog-Art-Api: [API key] 0 0 0 0 0 0 0 0 -: -: - - 0:00:01 -: -: - 0 0 0 0 0 0 0 0 0 -: -: - 0:00:02 -: -: - 0 0 0 0 0 0 0 0 0 -: -: - 0:00:03 -: -: - 0 0 0 0 0 0 0 0 0 -: -: - 0:00:04 -: - -: - 0 0 0 0 0 0 0 0 0 -: -: - 0:00:05 -: -: - 0 0 0 0 0 0 0 0 0 -: -: - - 0:00:06 -: -: - 0 0 0 0 0 0 0 0 0 -: -: - 0:00:07 -: -: - 0
- dud
- schannel: клиент хочет т o читать 102400 байт
- канал: изменен размер encdata_buffer 103424
- канал: зашифрованный буфер данных: смещение 0 длина 103424
- канал: зашифрованные данные получены 1144
- канал : буфер зашифрованных данных: смещение 1144 длины 103424
- schannel: длина дешифрованных данных: 1115
- schannel: добавлены расшифрованные данные: 1115
- schannel: зашифрованные кэшированные данные: смещение 1115 длины 102400
- schannel: буфер зашифрованных данных: длина смещения 0 103424
- schannel: буфер дешифрованных данных: смещение 1115 длина 102400
- schannel: очистка schannel_recv
- schannel: возвращены расшифрованные данные 1115
- schannel: буфер расшифрованных данных: смещение 0 длина 102400 https://themes.googleusercontent.com; object-sr c 'none' <{[3 байта данных] 100 3 0 3 0 0 0 0 -: -: - 0:00:08 -: -: - 0100 3 0 3 0 0 0 0 -: -: - 0:00:08 -: -: - 0 </li>
- Соединение № 0 с хостом www. [Artifactory URL]. net оставлено без изменений. 1097 *