On 21/01/2019 20:06, Stefan Seelmann wrote:
Hi,

for the LDAP API I created a Jenkinsfile and a corresponding Jenkins
pipeline job (there is the classic view [1] and the more fancy "blue
ocean" UI [2]). This LDAP API pipeline is quite simple: The code is
built and tests are executed on various platforms (Windows with Java 8,
Linux with Java 8, 11, 12). When that is successful there is another
build that deploys the snapshot JARs to Nexus. I alrady disabled the old
LDAP API Jenkins job to not build twice.

That is really great !


The Sonar Job is not included
yet, there I have to find out if/how it's possible to integrate.


FTR, I'm running the latest Sonar version checks here :

https://sonarcloud.io/dashboard?id=org.apache.directory.api%3Aapi-parent


It's a manual job (ie I have to launch it), but at least it's up to date. There may be ways to include it in the pipeline, I may ask the Sonar people I know for that.


I'd like to create similar pipelines for the other projects, then with
more steps (e.g. installer tests etc).

FTR, ApacheDS won't build with Java 11 (because of Jaxb not being part of the JDK anymore, and I think it's because of ehcahe: another good reason to switch to Caffeine ?)



The advantages are (IMHO):
* The Jenkins job is defined "as code" and is part of the Git repository
and versioned
* There is only one job with multiple stages/steps which makes the
Jenkins setup better manageable
* With the current configuration, in case of a failure, there is only
one failure email sent
* It's easy to add additional build steps

Some build steps are based on a Docker image. This allows to define
custom tools and dependencies (e.g. new Java version not yet installed
on Jenkins, LDAP cmd line tools, other LDAP servers, Kerberos
configuration) for more sophisticated testing. All custom Docker images
are defined in [3].
I'm pretty sure Shawn will be interested to have a pipeline for Fortress witha  Docker container running Openldap ;-)

Let me know what you think or if you have objections or questions.
Otherwise I'd continue with more Jenkinsfiles :)


More, more more !


Thanks Stefan !

Reply via email to