:sourcedir: ../../../../templates

:gitlab-ci-file: /common/common-ci-variablen.gitlab-ci.yml

Please follow the these rules to provide excellent templates.
We found that these rules will lead to better and more usable templates.

== Template Names convention

Template Names should begin with the Prefix of the file there are contained in.
If a Template File contains more than on template a Suffix should be provided.
This Suffix should describe the functionality of the Template as good as posible.

This rules makes it easy to find the file within our repositories. If you only have a yml definition.
Our experience told us it can be hard to find the File a Template Job is in.

====
Example:

The file `fuu.gitlab-ci.yml` contains the template that start with `.fuu*`
It could Container the Templates `.fuu-feature1` or `.fuu-feature2`
====

== Mono Repo support

We try to give as much Mono-Repo support as possible.
Because of this, the execution path of jobs should be variable.
Use a `cd $SOME_VAR_TO_PATH` within your `script` or `before_script` definitions.
The default path to should point to `$CI_PROJECT_DIR`.

== Use of Before/After script

avoid using `before_script` and `after_script` within a template.
these scripts should be overridable by the template user.
