Как поместить любой файл в артефакт с помощью python?

У меня есть требование, чтобы любой файл был помещен в артефакт с использованием языка python. Я пытался искать по всему Интернету, но я не мог найти никакой помощи.

Пожалуйста, поделитесь фрагментом кода или чем-то, что может помочь мне в этом.

Здесь приветствуется любая помощь.


person Rakesh    schedule 17.07.2012    source источник
comment
Вы имеете в виду, что вам нужно загружать артефакты в Artifactory с помощью клиента Python?   -  person Andrew Alcock    schedule 17.07.2012
comment
Переведите это на python: curl -X PUT --data-binary @absolute_path/ivy.xml -u deployer:password -i your_host/artifactory/ext-releases-local2/org/apache/ant/   -  person    schedule 10.12.2013
comment
Я ищу то же самое. каково было ваше решение?   -  person KKO    schedule 03.12.2014


Ответы (3)


Модуль Artifactory python можно использовать для загрузки артефактов в Artifactory. https://pypi.python.org/pypi/artifactory/0.1.17

Вот пример с веб-сайта, используемого для загрузки файла в Artifactory:

from artifactory import ArtifactoryPath
path = ArtifactoryPath("http://my-artifactory/artifactory/libs-snapshotlocal/myapp/1.0")
path.mkdir()

path.deploy_file('./myapp-1.0.tar.gz')
person Niranjan    schedule 18.10.2016
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – Из обзора - person James K; 22.10.2016
comment
@JamesK добавил пример на случай, если ссылка станет недействительной - person Niranjan; 28.10.2016

Проект защиты от фруктов обеспечивает интеграцию с Artifactory и Python, которую вы ищете. http://teamfruit.github.io/defend_against_fruit/

person James Carpenter    schedule 18.05.2013
comment
Хотя мне действительно нравится подход, используемый DefendAgainstFruit, кажется, что у него есть две большие проблемы: похоже, он может развертывать только модули Python. Вторая проблема не связана с вопросом: в том, что он поддерживает только Artifactory на стороне вывода, так как было бы неплохо, если бы его можно было развернуть на другие подобные решения. - person sorin; 16.07.2015

Artifactory предоставляет REST API. Вот ссылка на документацию. См. раздел «Развертывание артефакта».

В основном вам нужно будет создать клиент REST. Может быть, уже существует один для Artifactory? Если вам нужно написать его самостоятельно, существует файл WADL, который может упростить задачу (см. также wadllib ).

person mhawke    schedule 17.07.2012