Separate images in multiple pipelines
Instead of building the Yocto image, the Yocto SDK and the FNGSystem image in one single pipeline, separate them into three independent pipelines that are triggered in parallel.
This makes the concept more modular: we have a single general pipeline now which is configurable from outside via variables. Hence we can have a custom number of pipelines along with custom build targets in each project without having to make code changes in the gitlab-ci project.
The default Yocto manifest pipeline configures three build pipelines:
- yocto-build-jobs
- sdk-build-jobs
- fngsystem-build-jobs
In a project including the Yocto manifest pipeline, we can disable certain build pipelines using job rules, e.g. disabling the SDK build:
sdk-build-jobs:
rules:
- when: never
Furthermore we can add more pipelines by simply adding jobs extending the '.build-jobs' class in the project's .gitlab-ci.yml:
yocto-custom-build-jobs:
extends:
- .build-jobs
variables:
BITBAKE_TASK: build
CI_PARAM_IMAGE: custom-image
CI_PARAM_DISTRO: custom-distro
PACKAGE_TYPE: image