Jenkins pipeline library with common functionalities for CI/CD environments, mainly targeted for the implementation of the SQA baseline requirements from https://indigo-dc.github.io/sqa-baseline/
This release only comprehends the following implementations:
Jenkins scripted pipeline producing dynamic stages defined in config.yml
scripted pipeline over Jenkins declarative pipeline, allowing to use declarative pipeline with Jenkinsfile
schema validation using independent call to docker image with required code (other sprint trying to merge it using Jenkins plugin)
compose agent concept implemented (allows flexible future implementation for other config.yml specializations or for supporting other platforms)
docker-compose support
tox build tool supported
generic commands also supported as defined in current SQA schema
Missing:
reporting, metrics retrieval and delivery (images upload)
maven build tool support
kubernetes platform support
docker-compose needs to be improved to select node for each project, to allow better infrastructure management
Notes
Most relevant details from this version relative to the previous in @orviz pull request are:
change implementation of merge method in ConfigParser removing the instanceof and recursive call (stack limitation issue)
add in ConfigParser the missing getNodeAgent method, define local constants as final and add a new one for DEFAULT_AGENT
control debug code using DEBUG boolean constant defined in JenkinsDefinitions
didn't remove the buildStages try catch for now (we need to review this later with library testing)
@orviz , some notes about ConfigParser.merge method:
only transverses when there is maps
if a list appears with maps that need to be parsed for default values, we need to call it again over that list as happens in ConfigParser.getConfigSetting
We need to check this later if SQAaaS schema is updated.
Jenkins Library v2 (SQA specification complaint)
Sprint summary
This release only comprehends the following implementations:
Missing:
Notes
Most relevant details from this version relative to the previous in @orviz pull request are:
@orviz , some notes about ConfigParser.merge method:
We need to check this later if SQAaaS schema is updated.