Simplify Configuration File
About 229 wordsLess than 1 minute
Advanced YAML Syntax
Since the .cnb.yml
configuration file is in YAML
format, you can leverage more YAML
features (such as anchors &
, aliases *
, and object merge operator <<
) to simplify the configuration file.
Here's a simple example using anchors and aliases for simplification:
# When pull_request and push events have identical pipelines, this approach can reduce duplication
.pipeline: &pipeline
docker:
image: node:22
stages:
- name: install
script: npm install
- name: test
script: npm test
main:
pull_request:
- <<: *pipeline
push:
- <<: *pipeline
Multi-level nesting is supported:
.jobs: &jobs
- name: install
script: npm install
- name: test
script: npm test
.pipeline: &pipeline
docker:
image: node:22
stages: *jobs
main:
pull_request:
- <<: *pipeline
push:
- <<: *pipeline
Tips
These are built-in YAML
features that only work when parsing a single YAML file and cannot be used across files.
File References
To facilitate pipeline configuration reuse, Cloud Native Build
implements the following features:
- include: Cross-file pipeline template references.
- imports: Cross-file variable references.
- optionsFrom: Cross-file built-in task parameter references.
- settingsFrom: Cross-file plugin task parameter references.
For detailed file reference documentation, see File References
Variable References
To solve the issue that YAML anchors and aliases cannot be used across files, Cloud Native Build
implements the following feature:
reference: Cross-file variable references by property path.