Docker image
Docker image (klas-devtools)
The klas-devtools image is defined in dev-tools/Dockerfile and contains all tools needed to build, cross-compile, and test KLAS:
- Build toolchain (CMake, compilers, Boost, Paho MQTT, sdbus-c++)
- Cross-compilation SDKs (Raspbian, Yocto/Welma)
- Python 3 + virtual environment support
- Pluma testing framework (installed in
/pluma-venv) mosquitto-clients,glab, and other integration-test utilities
Credentials and secrets
Sensitive credentials (GitLab job token, SSH key for Pluma) are passed into the build using
Docker build secrets, not --build-arg.
This ensures no credentials are baked into any image layer.
In the pipeline, the secrets file is created automatically from CI variables. See CI/CD for instructions on building the image locally.
Update Dockerfile flow
- Create a dedicated branch from the branch
develop - Checkout the new branch and update the
Dockerfile - Create a merge request to
develop - Wait for develop's build to be finished
- Enjoy the new image with other branches