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. The Sonar Job is not included yet, there I have to find out if/how it's possible to integrate.
I'd like to create similar pipelines for the other projects, then with more steps (e.g. installer tests etc). 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]. Let me know what you think or if you have objections or questions. Otherwise I'd continue with more Jenkinsfiles :) Kind Regards, Stefan [1] https://builds.apache.org/view/D/view/Directory/job/dir-ldap-api-pipeline [2] https://builds.apache.org/blue/organizations/jenkins/dir-ldap-api-pipeline/activity [3] https://github.com/apache/directory-buildtools
