Output Blocks#
The output_blocks
setting can be used to inject commands directly into the Dockerfile
generated by
the OU Container Builder.
Warning
This is the equivalent of a nuclear-powered chainsaw. Beware. Any mistakes in the custom output blocks are likely to prevent the VCE from building or running.
output_blocks:
build:
- block: # The block text to write into the Dockerfile
weight: # Weight used for ordering the output blocks
deploy:
- block:
weight:
All blocks are sorted using the weight
and then the block
text is written as-is to the Dockerfile
.
The Output Block Weights lists weight values and what activities are allocated to which weight ranges.
Blocks defined in the Configuration.yaml
should use weights from ranges that are marked as “Free”, to
ensure stable and repeatable behaviour.
Common Recipies#
Here are a set of common recipies for which the output_blocks
need to be used.
Copying data into the build stage#
To copy data into the build stage, for use in build scripts, adapt the following snippet:
output_blocks:
build:
- block: COPY source.tar.gz /target/location.tar.gz
weight: 201
This ensures that the file is copied before any scripts are run and is available to those scripts.
Copying data from build to deploy stage#
If building software in the build stage, to copy data into the final deploy VCE image, adapt the following snippet:
output_blocks:
deploy:
- block: COPY --from=base /path/to/build/output /target/location
weight: 2001