Есть ли функция загрузки файла в солевой стек, чтобы загрузить jar в JFrog Artifactory? - PullRequest
0 голосов
/ 21 января 2019

Я использую сценарий состояния подсолки, чтобы создать банку из BitBucket и загрузить ее в Artifactory. При загрузке в Artifactory я вижу ошибку авторизации. Я не уверен, что это правильный подход для загрузки в Artifactory.

Я пытался использовать CURL для загрузки. Мне нужно предоставить -u myUser:myPassword вдоль команды CURL, чтобы она работала. Я не могу предоставить учетные данные в моих скриптах состояния соли. Я ищу лучший вариант для загрузки без использования учетных данных для входа. Как загрузить артефакты в артефакт, используя солончак?

curl -X PUT -T /tmp/Batch.jar http://artifactory/artifactory/Batch.jar

Ошибка: стандартный вывод:

              {
                \"errors\" : [ {
                  \"status\" : 401,
                  \"message\" : \"Unauthorized\"
                } ]
              }

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Я сталкивался с подобными вещами пару раз. Самое простое решение - написать небольшой солевой модуль для выполнения этой работы. Таким образом, вы можете хранить учетные данные артефакта в виде данных столба и использовать обычные запросы Python или солтные http-помощники для выполнения веб-запросов.

Похоже, что солевой стек предоставляет модуль для артефакта: https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.artifactory.html

Возможно, это не совсем то, что вы ищете, но вы определенно можете расширить его: https://github.com/saltstack/salt/blob/develop/salt/modules/artifactory.py

Документы для работы с солями стека могут быть здесь: https://docs.saltstack.com/en/latest/ref/modules/

0 голосов
/ 21 января 2019

Согласно документации Artifactory , REST API поддерживает следующие формы аутентификации:

  • Базовая аутентификация с использованием вашего имени пользователя и пароля
  • [Simplest] Базовая аутентификация с использованием вашего имени пользователя и ключа API.
  • Использование выделенного заголовка (X-JFrog-Art-Api) с вашим ключом API.
  • Использование токена доступа вместо пароля для базовой аутентификации,
  • [Рекомендуется] Использование токена доступа в качестве токена-носителя в заголовке авторизации
    (Authorization: Bearer) с токеном доступа.

Выпридется выбрать один из вышеперечисленных.

...