The Jenkins Pipeline Library (JPL)  is one of the core components of the EOSC-Synergy software and services quality assurance as a service platform (SQAaaS), aimed at fostering the adoption of EOSC services through a quality based approach. The JPL, whose previous version was used in recently finished EINFRA-related research projects, has been refactored during the ongoing EOSC-Synergy project, being the first component of the SQAaaS platform to be released. However, it is a self contained component that can be used standalone for the creation and execution of CI/CD pipelines.
The library facilitates the creation of Jenkins pipelines by using a YAML description that will be used to compose dynamically the stages that need to be present in the CI/CD pipeline. The actions in the YAML configuration file are aligned with the criteria compiled in the software and service quality baselines , supported by the EOSC-Synergy project, and rely on Docker Compose to orchestrate the required set of services needed during the quality assessment process. A minimal (single-stage) Jenkins CI/CD pipeline definition (Jenkinsfile) is needed to dynamically compose the stages defined as actions in the YAML description. This means that the use of this library does not limit the researcher to the criteria as they are defined in the baselines, but additional stages can be added directly in the Jenkinsfile. Once this file layout is placed in the application’s source code repository, the pipelines will be automatically constructed and executed through a Jenkins CI/CD system. The approach followed by the new JPL release lowers the barriers that hinder the adoption of the good practices that enable quality-based and sustainable software and service developments in research environments.
In the context of the EOSC-Synergy SQAaaS platform, the library will be used to enable the on-demand dynamic composition of Jenkins pipelines that will perform the several steps of the envisaged quality assurance. These steps will implement the quality validation actions defined in the EOSC-synergy software and services quality criteria.
The demonstration will highlight the features and capabilities of the library in practice, showing how to easily create pipelines that implement and comply with the good practices that are expected during the software lifecycle, from development to production. This is particularly relevant to developers and managers of research services both at the infrastructure and thematic levels.