= Gitlab - Ci - Templates
// #########################################################################
// Die folgende Zeile NICHT ändern. Keine Leerzeilen einfügen!
// Hier fügt das eXXcellent-documentation-tool Metadaten zur Build-Zeit ein
// #########################################################################
###exxcellent_base_template_placeholder###
// ##########################################################################
// Hinter :imagesdir: den relavtiven Pfad zu dem Ordner angeben, an dem alle Images der *.adoc files liegen.
// Am besten den vorgegebenen Ordner 'images' einfach so lassen und verwenden.
// ##########################################################################
ifndef::imagesdir[]
:imagesdir: images
endif::[]
// ##########################################################################
// Bei Bedarf anpassen
// Dokumentenklassifizierung = Öffentlich, Intern, Vertraulich, Streng vertraulich
// ##########################################################################
:revnumber: 1.0
:classification: Intern
:author: Marcel Feix <marcel.feix@exxcellent.de>

Diese Repository enthält alle generellen CI Templates der CI Gilde.
Templates für Tools werden in den Repositorys der Tools gepflegt.


// ###########################################################################
// Das Inhaltsverzeichnis ist nur im generierten HTML/PDF sichtbar (immer an erster Stelle, technisch bedingt)
// ###########################################################################
toc::[]

// ###########################################################################
// Attribut leveloffset addiert die gegebene Zahl zu den Überschriften im Dokument
// Alle Überschriften erscheinen also eine Ebene tiefer
// ###########################################################################
== General Information

include::generalInformation.adoc[leveloffset=1]
include::chapters/templates/common/common-ci-variablen.adoc[leveloffset=1]

== Contribution

include::contribution.adoc[leveloffset=1]

== Deployment - IaC

include::chapters/templates/IaC/ansible.adoc[leveloffset=2]
include::chapters/templates/IaC/docker-compose.adoc[leveloffset=2]
include::chapters/templates/IaC/ssh-transfer-data.adoc[leveloffset=2]


== Container Templates

include::chapters/templates/container/container-build.adoc[leveloffset=2]
include::chapters/templates/container/container-publish.adoc[leveloffset=2]
include::chapters/templates/container/container-scan.adoc[leveloffset=2]


== Releasing Templates

Im folgende sind erweiterte Templates zu finden für das https://gitlab.exxcellent.de/gilden/ci/exxcellent-increase-version-tool[Increase-Version-Tool] der CI Gilde.
Für vorgegebene Release Pipelines bitte im Abschnitt <<_pipelines>> gucken.

include::chapters/templates/releasing/push-tag-and-version-template.adoc[leveloffset=3]
include::chapters/templates/releasing/set-version-template.adoc[leveloffset=3]
include::chapters/templates/releasing/release-template.adoc[leveloffset=3]
include::chapters/templates/releasing/release-gitlab-template.adoc[leveloffset=3]
include::chapters/templates/releasing/mail-template.adoc[leveloffset=3]

== NPM Templates

include::chapters/templates/npm/npm-dependencies-template.adoc[leveloffset=2]
include::chapters/templates/npm/npm-build-template.adoc[leveloffset=2]
include::chapters/templates/npm/npm-lint-template.adoc[leveloffset=2]
include::chapters/templates/npm/npm-test-template.adoc[leveloffset=2]

== Maven Templates

include::chapters/templates/java/maven/maven-dependencies-template.adoc[leveloffset=2]
include::chapters/templates/java/maven/maven-build-template.adoc[leveloffset=2]
include::chapters/templates/java/maven/maven-verify-template.adoc[leveloffset=2]

== Gradle Templates

Aktuell gehen wir davon das der Gradle Wrapper in dem Projekt vorhanden ist.
Sollte dieser noch nicht vorhanden sein kann er mit dem Befehl `gradle wrapper` erstellt werden.

include::chapters/templates/java/gradle/gradle-build-template.adoc[leveloffset=2]
include::chapters/templates/java/gradle/gradle-test-template.adoc[leveloffset=2]
include::chapters/templates/java/gradle/gradle-db-diff-template.adoc[leveloffset=2]

== Static Analysis

include::chapters/templates/static-analysis/repo-cve-scan.adoc[leveloffset=2]
include::chapters/templates/static-analysis/tool-sonar.adoc[leveloffset=2]

== Documentation

include::chapters/templates/documentation/tool-documentation-tool.adoc[leveloffset=2]

[#_pipelines]
=== Pipelines

include::chapters/pipelines/eXXcellent-release.adoc[leveloffset=3]

//todo docs for new pipelines
//In particular  docs for the keyword needs hinzufügen. needs container build step. artefacts true

//todo licensing documentieren