Speaker
Description
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 to foster the adoption of EOSC services through a quality based approach. It is a self contained component that facilitates the process of creation and execution of CI/CD pipelines and the first line for integration with any platform.
The library facilitates the creation of Jenkins pipelines by using a YAML description to define the several stages that compose a CI/CD pipeline. The actions in the YAML configuration file are aligned with the criteria compiled in the software and service quality baselines [1][2], but this library does not limit the researcher to the criteria defined in the baselines, and thus, additional stages can be added directly in the pipeline. JePL uses Docker Compose to orchestrate the required set of services needed during the quality assessment process. A minimal (single-stage) Jenkins CI/CD pipeline (Jenkinsfile) along two YAML files for pipeline and services definitions are required to dynamically compose the required set of stages and their actions. 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. This approach lowers the barriers that hinder the adoption of quality-based and sustainable software and service developments in research environments, enabling automation and agility.
[1] http://hdl.handle.net/10261/160086
[2] https://digital.csic.es/handle/10261/214441