Version control assigns identifiable versions to software artifacts and manages changes between them. In an engineering platform, source code version control is a foundational capability used to deliver the platform. section 6.2
Versioning also applies to shared pipeline code. Treating pipelines as software makes versioning part of the engineering discipline alongside linting and testing, allowing shared changes to be released with less friction. section 6.3.7
Use versioning to support reusable platform components without taking ownership away from developers:
- Release changes to shared pipeline libraries in a way that gives users time to understand and adapt before they are blocked. section 6.3.7
- Keep local pipeline code owned and managed by developers while shared libraries provide common workflows and compliance capabilities. section 6.3.7
- Combine versioning with injection points, parameter overrides, validation, and tool-version overrides so reusable code remains adaptable. section 6.3.7
Versioning a reusable pipeline library
A platform team maintains a shared CircleCI orb for Terraform planning and compliance checks. It versions the orb before releasing changes, while developers retain their local pipeline configuration and use supported parameters or custom steps when adapting the update. section 6.3.7
Figure 6.3 Resources we will need to begin building our engineering platform product foundation
The platform foundation includes source code version control alongside the cloud accounts, secrets store, infrastructure state store, and pipeline orchestrator. section 6.2
























