Document pipeline best practices
Document our preferences (ie extends over anchors) to help reinforce what we’ve found are best practices to support performance and maintainability.
Plan:
- Determine where preferences would be documented at (handbook or product docs). I’m leaning towards the handbook as it applies to GitLab Company specific information.
- Identify what configuration areas have tradeoffs that would warrant an opinionated view
- Extends preferred over anchors
- Comments for all base job configurations describing their intended usage
- Inheritance depth limit
- Naming conventions (colons, spaces, dashes, underscores)
- inherited job names should communicate clearly what keys it defines to prevent unintended overrides
- Specify keys which should have a preferences as defined at the job vs. inherited job configuration levels
- Pull out existing examples of best practices from docs and usage https://docs.gitlab.com/ee/ci/caching/index.html#good-caching-practices
Edited by Albert Salim