Skip to content

Latest commit

 

History

History
32 lines (17 loc) · 1.92 KB

File metadata and controls

32 lines (17 loc) · 1.92 KB

Contents

This directory contains the Jenkinsfiles used by each one of our cucumber or reference Jenkins jobs.

We use Scripted Pipelines in this folder and note Declarative Pipelines.

The reason is that while Declarative Pipelines are easier, they are not enough flexible for what we need, and they don't really allow to easy reuse code.

Files

Each file defines the parameters (and default values), cron configuration and old build removal for each job. Then the correct code from commons folder is called.

If you want to run a build for a Job changing a parameter value only once, you can do it from Jenkins.

If you want to make that change permanent for several builds (or forever), then you need to edit the Job's file here. Just change the default value.

For manager-Test*-cucumber jobs, squads can also decide to add more parameters, but it's strongly recommended that we keep the same parameters for all jobs, so maintenance is easier.

NOTE: The old pipelines at ../manager_testsuite and ../uyuni_testsuite are now deprecated and should not be maintained. They are only there until migration of the QA jobs is possible.

"common" folder

Contains the real deal. The code to run the steps such as a git cloning, terracumber provisioning, cucumber testsuite steps, etc.

Currently there are two groovy files:

At some point we should consider a refactor of the two files, to unify code that is used at both "pipelines".

Needless to say, new groovy files can be defined if your needs are different.