Templating engine for GitLab CI

Description

For us, adding a stage for an environment in our .gitlab-ci.yml projects often means copying a previous (or similar) stage, pasting it in and changing some details. This gives rise to a .gitlab-ci.yml full of very similar stages, differing only in a few places, but making errors hard to detect. In particular, when evolving the scheme, and adding new things to a build procedure.

We think that adding a templating engine to GitLab CI would reduce the size and complexity of .gitlab-ci.yml files and make it easier to maintain consistency throughout.

Proposal

Add templating support (such as Jinja2) for .gitlab-ci.yml so as to make it easier to generate stages (for example) and maintain consistency.

Thanks!