Jenkins Shared Library
OpenDevStack provides a Jenkins Shared Library which offers two pipelines:
A pipeline to build components,
odsComponentPipeline. This pipeline allows to have a minimal
Jenkinsfilein 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.
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.
A pipeline to provision quickstarters,
odsQuickstarterPipeline. This pipeline is useful for quickstarter authors.
The implementation was originally based on https://www.relaxdiego.com/2018/02/jenkins-on-jenkins-shared-libraries.html. 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 https://jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline). If you try to use it e.g. within a Groovy class you’ll end up with lots of