51 lines
1.9 KiB
Plaintext
51 lines
1.9 KiB
Plaintext
:sourcedir: ../../../../templates
|
|
|
|
== Templates und Pipelines
|
|
|
|
In dieser Repository sind CI Templates und CI Pipeline-Templates zu finden.
|
|
Templates sind vorgefertigte Jobs, die jeweils einen Use-Case abbilden sollen und in dein Projekt importiert werden können. Die meisten Templates haben kein abhängigkeiten untereinander. Wenn doch, werden die Abhängigkeiten dokumentiert.
|
|
Alle Templates sind im Ordner Templates zu finden.
|
|
|
|
Da eine CI jedoch aus Pipelines besteht und Gitlab die Möglichkeit Multi-Projekt- und Child-Pipelines zu benutzen, werden hier auch vorgefertigte Pipelines bereitgestellt.
|
|
Diese Pipeline-Templates bilden komplexere Use-Cases ab.
|
|
Pipelines sind in dem dafür vorgesehenen Pipeline Ordner zu finden.
|
|
|
|
== Wie können Templates benutzt werden
|
|
|
|
Damit du die Templates in deinem Projekt zu benutzten kannst, musst du folgendes machen:
|
|
|
|
1. `Include` das Template file das du benutzen willst in deinem `.gitlab-ci.yaml` File.
|
|
2. Jetzt kannst du in von dir gewählten Job das Template mit dem keyword `extend` als Ausgangspunkt benutzen.
|
|
3. Du kannst den Job für deinen Anwendungszweck weitere verändern indem du diese bei dir Überschreibst.
|
|
|
|
====
|
|
Bei dem folgenden Beispiel wurde als ref der Tag 1.0.0 gesetzt.
|
|
Wir empfehlen diesen Tag zu setzen damit Änderungen von uns nicht eure CI Skripte kaputt machen.
|
|
Um automatisch mitzubekommen, wenn sich die CI verändert empfehlen wir das Benutzen von Renovate
|
|
====
|
|
|
|
[source,yaml]
|
|
----
|
|
stages:
|
|
- test-image
|
|
|
|
include:
|
|
- project: 'gilden/ci/gitlab-ci-templates'
|
|
ref: '1.0.0'
|
|
file:
|
|
- '/templates/java/maven/maven-verify.gitlab-ci.yml'
|
|
|
|
test-image:
|
|
stage: test-image
|
|
extends: .maven-verify
|
|
rules:
|
|
- if: $NURAUFMEINEMBRANCH
|
|
before_script:
|
|
- echo "meine änderungen"
|
|
----
|
|
|
|
== Wie können Pipelines benutzt werden
|
|
|
|
Um Pipelines zu benutzen, müssen diese nur mit `Include` importiert werden.
|
|
Für weitere Informationen ließ bitte die Doku der Pipelines selbst.
|