Apache Jackrabbit FileVault Jenkins Shared LIbrary
APACHE-2.0 License
This library is used for all FileVault Jenkins builds and enabled on https://ci-builds.apache.org/job/Jackrabbit/job/filevault/
It follows the structure outlined at https://www.jenkins.io/doc/book/pipeline/shared-libraries/
It is supposed to be called in a Jenkinsfile
like this
vaultPipeline('ubuntu', 11, '3', {
vaultStageBuild(['Windows'], [8, 17], ['3.6.3'], 'apache_jackrabbit-filevault-package-maven-plugin')
vaultStageDeploy()
}
)
The vaultPipeline
step encapsulates the main build environment parameters:
The first argument is the main node label to build with, the second one the main JDK version, third argument the main Maven version
The fourth argument is a closure containing the actual stages where each may be one of
vaultStageSanityCheck
: a quick Maven build supposed to fail fast and executed before triggering expensive parallel builds with vaultStageBuild
vaultStageBuild
: the actual Maven build and SonarQube execution (the latter only for the main environment)vaultStageIT
: an isolated execution of just the integration testsvaultStageDeploy
: the stage to deploy the previously built Maven artifacts to the ASF Snapshot Repository (depends on 1.)For the parametrisation of those individual stages refer the source code.