OCI Build Example
In the directory examples/oci you can find a basic setup for using only the
oci stage without any build system flow templates (sources on GitLab.com and
FDO).
This example assumes you are using GitLab.com native runners for a subset of supported architectures.
Pipeline Structure
The CI stages are organized into separate files in the .gitlab-ci.d directory.
This design improves maintainability and compartmentalizes stages, making it
easier to customize workflows using job inputs.
OCI Image Stage
The OCI image build process is specified in .gitlab-ci.d/oci/oci.yml. It
creates an OCI image based on the pre-built debian image, adding any
additional dependencies required for the project. Both the template and
Containerfile are organized in a dedicated directory (.gitlab-ci.d/oci),
streamlining the use of workflow.rules for detecting file changes in merge
requests and minimizing variability in the OCI context.
Test Stage
The test stage showcases how the OCI images can be used in your custom CI flow.
Its configuration resides in .gitlab-ci.d/test.yml and is included in
.gitlab-ci.yml.