Skip to content

Multi-stage build process

David Chandek-Stark requested to merge build-builder into develop

This MR alters the internals of the build process to separate the building of a custom "builder image" from the building of the final "runtime image". Additionally the main build script incorporates logic to automatically add the -c/--copy and --incremental options when appropriate.

The purpose of the changes is two-fold and mainly to improve the developer experience. First, normally you should only need to run build.sh without options to build in the desired way. Second, the builder image only needs to be rebuilt when not present or when underlying app dependencies (e.g., Linux packages) change or need to be updated. In combination with automatically applying the --incremental option, re-using a pre-built builder saves time in iterative development. Note that the builder image can still be rebuilt separately bu running the build-builder.sh script.

A couple of minor additions: dev.sh will detect if a build needs to be run, so no need to manually build first. There is also a new clean.sh script that deletes all rdr-* volumes and images -- RUN WITH CAUTION!

Edited by David Chandek-Stark

Merge request reports