Restores state from previous runs
Sometimes it’s not sufficient to just cache directories (CACHE
), it’d be best
to cache complex state such as running processes or mounted files.
Webapp.io provides this powerful but dangerous caching mechanism via
RUN REPEATABLE
. It’s particularly useful for complicated declarative cluster
state like docker
, docker-compose
and kubectl
.
It’s recommended to combine RUN REPEATABLE with
multi-stage builds
for large performance improvements.
RUN REPEATABLE for Docker
Layerfile
- 9am pipeline: cp (9am files) . && docker build -t myimage
- 10am pipeline: cp -a (9am files) . && docker build -t myimage && cp -a (10am files) . && docker build -t myimage
- 11am pipeline: cp -a (9am files) . && docker build -t myimage && cp -a (10am files) . && docker build -t myimage && cp -a (11am files) . && docker build -t myimage
RUN REPEATABLE for docker-compose
Layerfile
- The docker layer cache (e.g., pulled images)
- Any created networks or volumes
RUN REPEATABLE for kubernetes (kubectl, k8s, k3s)
Layerfile