I am not aware of the Debian plug-in for Jenkins, and I have not found the maven-deb-plugin suitable for my needs (see "What Doesn't Work" on the page you linked to). When I have work on creating maven in Jenkins, I add a post step shell script that increments the version in debian / changelog and runs dpkg-buildpackage -b -nc.
-nc suppresses the clean before build, which is necessary because my debian / rules file would otherwise try to run maven targets to build the jars that Jenkins had already made. Snippet from my debian / rules:
pre-built-stamp mvn package touch pre-built-stamp override_dh_auto_build: pre-built-stamp
So, after maven steps in Jenkins, the following is done
touch pre-built-stamp dpkg-buildpackage -b -nc
This part is a personal preference, but I don't have Jenkins that pops the built-in debate directly into my repository. Instead, it saves the .deb and .changes files as build artifacts, so I can use the Promoted Builds plugin to sign the .changes file and copy it to the repository (rsync). This allows my developers to download and test deb before claiming it will be ported to our staging repository. Then the second promotion can be used to transfer the package to a live repository.
I chose reprepro as our repository manager. One of its main drawbacks is that it cannot handle more than one version of a package in a distribution, which makes rollback more painful. In addition, he found it reliable and usable, and now uses it to completely mirror the main Debian repositories, as well as use it to host my private repositories.
Reprepro uses inoticoming to identify new incoming packages and verify the signature in the change file, ensuring that only Jenkins can add new packages.
I found that some of the documentation in the reprefs is missing, but I recommend installing it and reading the reprepro and inoticoming man pages.
source share