Мне неизвестен плагин пакета Debian для Jenkins, и я не нашел maven-deb-plugin подходящим для моих нужд (см. «Что не работает» на странице, на которую вы ссылаетесь). Там, где у меня есть задание сборки maven в Jenkins, я добавляю сценарий оболочки post step, который увеличивает версию в debian / changelog и запускает dpkg-buildpackage -b -nc.
-nc подавляет очистку перед сборкой, что необходимо, потому что в противном случае мой файл debian / rules будет пытаться запустить цели maven для сборки jar-файлов, что уже сделал Дженкинс. Фрагмент из моего debian / rules:
pre-built-stamp
mvn package
touch pre-built-stamp
override_dh_auto_build: pre-built-stamp
Итак, после шагов maven в Jenkins он запускает следующие
touch pre-built-stamp
dpkg-buildpackage -b -nc
Эта часть является личным предпочтением, но у меня нет возможности, чтобы Дженкинс отправлял собранные файлы прямо в мой репозиторий. Вместо этого он сохраняет файлы .deb и .changes как артефакты сборки, поэтому я могу использовать Плагин Promoted Builds, чтобы подписать файл .changes и скопировать его в репозиторий (rsync). Это позволяет моим разработчикам загрузить и протестировать дебют, прежде чем утвердить его для отправки в наш промежуточный репозиторий. Затем можно использовать второе продвижение, чтобы отправить пакет в активный репозиторий.
Я выбрал репозиторий в качестве менеджера репозитория. Его один из основных недостатков заключается в том, что он не может одновременно обрабатывать более одной версии пакета в дистрибутиве, что делает откат более болезненным. Помимо этого, он оказался надежным и удобным, и теперь использую его для полного зеркалирования основных репозиториев Debian, а также для размещения моих частных репозиториев.
Reprepro использует inoticoming для обнаружения новых входящих пакетов и проверяет подпись в файле изменений, гарантируя, что только Jenkins может добавлять новые пакеты.
Я обнаружил, что в сети не хватает некоторой документации по реппро, но я рекомендую установить ее и прочитать страницы руководства по реппро и инотикации.
person
nickrw
schedule
18.09.2012
org.mortbay.jetty.toolchain:unix-maven-plugin
, который можно использовать для создания.deb
файлов. Вот пример: github.com/stephenc/jetties/blob /master/jetty-deb/pom.xml - person Stephen Connolly   schedule 19.09.2012