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 vaultStageBuildvaultStageBuild: 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.