Pipeline

CDAF provides a loose coupling for core CI & CD objectives. The pipeline tool is used to orchestrate these processes, e.g. CI and CD.

Pipeline Orchestration and Capabilities

The CI process gathers files from source control, then uses the CDAF CI entry point to produce the release package. The pipeline tool then stores the release package for reuse in subsequent deploy processes.

graph LR subgraph CI git[("Source Control")] bp["Build & Package"] registry[("Artefact Store")] end qa["✓ qa"] pp["✅ pp"] pr["✅ pr"] git --> bp --> registry --> qa --> pp --> pr classDef dashed stroke-dasharray: 2 class CI dashed

After the CI process, the pipeline tool may perform additional value add processes that are not directly related to delivery, i.e. publishing test results or code coverage.

The pipeline then retrieves the release package, and then triggers one or more deployments to promote a release to production. This is the CD process.

graph LR git[("Source Control")] bp["Build & Package"] subgraph CD registry[("Artefact Store")] qa["✓ qa"] pp["✅ pp"] pr["✅ pr"] end git --> bp --> registry --> qa --> pp --> pr classDef dashed stroke-dasharray: 2 class CD dashed

The triggering of each stage of the promotion can be immediate (indicated with ✓ in the diagram above) or require a manual approval (✅), but it is expected the deployment process itself is fully automated once it has been triggered.