Артефакт: загрузка с ключом api (не паролем)

#artifactory

#артефактор

Вопрос:

Как бы вы загрузили артефакт в artifactory без использования пароля?

Если я создаю нового пользователя, специально предназначенного для загрузки, этот пользователь по умолчанию не получает разрешение на загрузку, если он не является администратором.

Ответ №1:

Для загрузки с учетными данными

 curl -u admin:'correct-horse-battery-staple' -T foo.zip
  

Для загрузки с ключом api

 curl --header 'X-JFrog-Art-Api: 1234567890' -T foo.zip
  

В качестве альтернативы вы можете использовать синтаксис <username:apikey>

 curl -u admin:1234567890 -T foo.zip
  

https://www.jfrog.com/confluence/display/RTF/Artifactory REST API

Вы можете создать ключ api на странице профиля пользователя.

введите описание изображения здесь

Ответ №2:

Смотрите Различные параметры аутентификации, включая аутентификацию с использованием ключа API, на странице документации JFrog CLI для Artifactory: https://www.jfrog.com/confluence/display/CLI/CLI for JFrog Artifactory

Ответ №3:

Если вы хотите использовать .pypirc , вы можете просто поместить:

 [distutils]
index-servers = local

[local]
repository:  https://artifactory-url/repo
username: <username>
password: <api-key>
  

Затем вы можете загрузить с помощью python setup.py bdist_wheel upload -r local .

Хотя мой пользователь на данный момент является администратором, поэтому он отвечает только на часть вопроса с ключом API.

Ответ №4:

Если вы смотрите на артефакт nuget, вот однострочная команда CLI ниже.

 nuget push <your-package-name.nupkg> -source <artifactory-repo-url>/nuget-local/ -ApiKey <your-user-name>:<apikey>
  

Это скрыто в документации jfrog. Я бы подумал, что загрузка других артефактов будет следовать аналогичной схеме.