Blueprint for composable templates
What does this MR do?
This MR introduces composable templates as a blueprint rather than through a code change in GitLab. It takes features that all already exist today, adds official interoperability standards, and hopefully therefore allows people to start making, using, and even sharing composable templates immediately. There are other issues for composable templates of various kinds out there, but this is a workable MVC that can be done with GitLab today, and also I think can help structure the coming product features that expand on/relate to it:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/56836: Recursive includes
- https://gitlab.com/gitlab-org/gitlab-ce/issues/47234: Composable AutoDevOps templates
- https://gitlab.com/gitlab-org/gitlab-ce/issues/53307: CI "Snippets"
- https://gitlab.com/gitlab-org/gitlab-ce/issues/52679: Allow overriding parts of Auto-DevOps-gitlab-ci.yml without overriding the whole thing
- https://gitlab.com/gitlab-org/gitlab-ee/issues/8429: Required CI elements (i.e., enforce usage of certain templates in your organization)
- https://gitlab.com/gitlab-org/gitlab-ce/issues/56214: Include-able pipelines w/ local variables
Related issues
Closes
Author's checklist
-
Apply the correct labels and milestone -
Crosslink the document from the higher-level index -
Crosslink the document from other subject-related docs -
Feature moving tiers? Make sure the change is also reflected in features.yml
-
Correctly apply the product badges and tiers -
Port the MR to EE (or backport from CE): always recommended, required when the ee-compat-check
job fails
Review checklist
-
Your team's review (required) -
PM's review (recommended, but not a blocker) -
Technical writer's review (required) -
Merge the EE-MR first, CE-MR afterwards
Edited by Jason Yavorska