2016-12-12 6 views
0

Я использую плагин Artifactory для TeamCity для хранения артефактов из наших сборников. Однако плагин делает некоторые вещи, которые кажутся мне довольно странными, а не TeamCity-ish вообще.Какой шаг сборки должен активировать плагин artifactory?

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

Дальнейшее запутывание проблемы заключается в том, что the documentation указывает, что плагин работает с «большинством» типов бегунов сборки и перечисляет несколько примеров: «Maven2, Maven 3, Ivy/Ant (с поддержкой модулей Ivy), Gradle, NAnt, MSBuild , FxCop и Ipr. "

Вопрос в том, на каком этапе сборки я должен настроить Artifactory? Что делать, если я настраиваю его для шага сборки, которого нет в списке «работающих» бегунов сборки? Почему плагин разрешает/требует от меня настроить его несколько раз?

Мне кажется, что плагин Artifactory должен вместо этого добавить нового бегуна сборки, то есть «Развернуть артефакты в Artifactory», что даст мне одно поддерживаемое место для его настройки.

ответ

3

Плагин TeamCity Artifactory действительно позволяет подключать развертывание артефактов как часть конкретных шагов вместо подхода к обеспечению одного шага развертывания. Одной из причин этой реализации является возможность использования различных методов развертывания в зависимости от используемого инструмента сборки или технологии. Например, при использовании Gradle плагин Artifactory использует API-интерфейсы Gradle для развертывания артефактов, тем самым обеспечивая собственный метод развертывания.

Другая причина - большая гибкость с точки зрения того, когда в вашем рабочем процессе должно произойти развертывание. В общем сценарии вы хотите, чтобы ваши артефакты были развернуты в Artifactory в конце сборки, но это не всегда так. Иногда вам нужно сделать один шаг, например, шаг командной строки, чтобы запустить скрипт, который выполняет определенную работу, что приводит к конкретным артефактам, развернутым и помеченным в Artifactory. Затем вам нужно сделать второй шаг, чтобы использовать эти артефакты в качестве зависимостей и развернуть новые артефакты в Artifactory. Я предполагаю, что добавление дополнительного шага «Artifactory Deployment» возможно, и это то, что можно добавить в будущем. JFrog CLI стал очень популярным в последнее время и может быть легко встроен в качестве этапа командной строки для загрузки, выгрузки и публикации build-info в Artifactory.

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