Использовать другой плагин в плагине Hudson? - PullRequest
1 голос
/ 26 февраля 2012

Я разрабатываю свой собственный плагин hudson и не могу найти действительно исчерпывающую документацию.

Как мне подключиться к плагину артефактов, чтобы получить список артефактов? Плагин artifactory установлен в hudson, но я не знаю, как его скопировать / подключить к нему из моего собственного плагина.

Мой плагин развертывает определенную версию на нашем сервере веб-запуска. Это включает в себя загрузку артефакта из артефакта по HTTP, создание файлов version.xml и * .jnlp и загрузку этих трех файлов на веб-сервер с использованием SCP. Для настройки этого плагина мне нужен список всех версий конкретного проекта из артефакта.

Заранее спасибо.

1 Ответ

3 голосов
/ 27 февраля 2012

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

Если вы хотите использовать сущности, такие как строители, действия или обертки, вам, вероятно, придется использовать возможности Хадсона;Я не уверен в том, какие возможности у него есть, но у hudson.model.AbstractBuild и hudson.model.AbstractProject (и других) у Дженкинса есть такие методы:

  • hudson.model.Actionable # getActions
  • AbstractProject # getPublishersList

Это вернет эти объекты(при условии, что они настроены для рассматриваемого проекта).

Помимо этого подхода, существует несколько способов решения вашей проблемы с помощью REST API Artifactory:

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

  • Есливы хотите получить созданные артефакты определенной сборки Hudson, и, предполагая, что вы используете плагин Hudson для развертывания Build Info, вы можете запросить объект Build Info с помощью ресурса Build Info ;используя контрольные суммы произведенных артефактов, перечисленных в этом объекте, вы можете выполнить контрольную сумму артефакта запросов, чтобы выяснить, существуют ли и где эти артефакты в артефакте.

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

...