CNG: Use alternative build tools
The logic of building CNG images is encoded and splitted in CI pipeline configuration, a series of shell scripts, and numerous Dockerfiles. It makes it difficult to adopt new practices for the building Docker images, namely multi-stage building and image layering. Adding new flavours for CNG images hasn't been scoped. The build process is slow and dependencies has to be managed explicitly. Changes to build process is error-prone and difficult to test.
Using an alternate build tool with advanced low-level features that is more flexible, programable, and amenable for multi-stage and multi-image scenarios can improve the build process.
BuildKit can be used to programmatically define building blocks of Docker images. Concurrent build and caching comes out of the box.