Add includes capability in gitlab-ci YAML format
Description
When there is multiple projects using the same technology, there is a lot of repetition in the gitlab-ci files of each of these projects. For example for caching, docker image used, or even similar commands that are run (even though for the last one, it is already feasible). For example Jenkins with its Jenkinsfile system supports even the use of repository of CI rules and things like that.
Proposal
It would make sense to be able to have these common instruction stored in a YAML file that would be imported by each of the project and exploited in the same manner that using the notation <<: *configuration
.
This issue does not cover the matter of providing such shared configurations (I assume they could be stored in a repository and it would be cloned in before_script
for example).
Links / references
See for example Jenkins global library https://github.com/jenkinsci/workflow-cps-global-lib-plugin and its use to reuse configuration.