Jenkins Shared Library

OpenDevStack provides a Jenkins Shared Library which offers two pipelines:

  1. A pipeline to build components, odsComponentPipeline. This pipeline allows to have a minimal Jenkinsfile in each repository by providing all language-agnostic build aspects. The goal is to duplicate as little as possible between repositories and have an easy way to ship updates to all projects. As a user, you will mostly interface with this pipeline.

  2. A pipeline to orchestrate releases with multiple components, odsOrchestrationPipeline. It supports the orchestration of multiple repositories into a live application using the Release Manager quickstarter.

  3. A pipeline to provision quickstarters, odsQuickstarterPipeline. This pipeline is useful for quickstarter authors.


The implementation was originally based on The scripted pipeline syntax was chosen because it is a better fit for a shared library. The declarative pipeline syntax is targeted for newcomers and/or simple pipelines (see If you try to use it e.g. within a Groovy class you’ll end up with lots of script blocks.