Есть ли задача Ant, которая может получить артефакт от Хадсона / Дженкинса? - PullRequest
5 голосов
/ 15 июня 2011

Я вручную свернул систему сборки моего проекта (в основном на Python + Hudson). Одна из вещей, которые мне нужно делать довольно часто, - это извлекать артефакты из верхнего потока Гудзон / Дженкинс.

Этими артефактами может быть что угодно - например, zip-файл, полный бизнес-данных для обработки, или даже яйцо, содержащее загрузку кода Python, который необходимо протестировать. Почти каждая важная работа в нашей системе связана с зависимостями от артефактов, создаваемых другими работами в Хадсоне.

Мой менеджер предложил, чтобы следующая итерация системы сборки заменила некоторые из моих прокрученных компонентов на Ant . Целью этой следующей итерации будет уменьшение сложности наших систем и приведение их в соответствие с работой других команд, которые в основном используют Java и Ant (и совсем немного Python).

Кроме того, я лично хочу найти повод для изучения муравья. Похоже, действительно полезный инструмент.

Таким образом, чтобы не изобретать колесо, один компонент, который мне определенно понадобится, - это задача Ant, которая может извлечь артефакт из конкретной сборки Hudson. Существует ли такая вещь? Если этого не существует, есть ли что-то близкое к моему требованию, которое я мог бы настроить? Я бы не стал изобретать велосипед.


ОБНОВЛЕНИЕ 1: Мы настоятельно предпочитаем 100% бесплатные инструменты с открытым исходным кодом. Все в команде очень довольны Ant, однако Maven - это то, от чего команда пытается уйти.

Ответы [ 3 ]

7 голосов
/ 15 июня 2011

Правильное решение - опубликовать артефакты от Хадсона / Дженкинса в диспетчере артефактов, например Nexus или Артефакт , а затем вытащить версии артефактов, например Плющ или Градл .

4 голосов
/ 15 июня 2011

Если вам нужно получить зависимости самостоятельно, вы можете использовать задачу get. Пример:

<get src="http://jenkins/job/project-name/lastSuccessfulBuild/artifact/foo.jar"
     dest="/path/to/local/file"/>

Я, однако, согласен с Стефан - управление зависимостями лучше выполнять с помощью инструментов, упомянутых в его ответе, вместо того, чтобы вручную тянуть их с помощью Ant.

0 голосов
/ 16 июня 2011

Если вы только начинаете изучать ANT, я бы посоветовал вам изучить gradle , в него уже встроена часть зависимости и с ней гораздо проще работать.Кроме того, если вам нужна конкретная задача ANT, вы можете просто вызвать ее из gradle или даже импортировать целые скрипты муравья.

В противном случае я согласен с ответом Стефана Кендалла.

...