Merge branch 'feat/tbe_sonar' into 'master'
feat(tool-sonar): Add sonar-template for gradle See merge request gilden/ci/gitlab-ci-templates!42
This commit is contained in:
commit
dadcbc612c
@ -20,7 +20,7 @@ Dabei sind die Imagenamen der Container abhängig von den Branchnamen.
|
|||||||
|| Siehe <<_container_publish, Container Publish>> |
|
|| Siehe <<_container_publish, Container Publish>> |
|
||||||
|===
|
|===
|
||||||
|
|
||||||
.sonar-template
|
.container-publish-snapshot
|
||||||
[source,yaml]
|
[source,yaml]
|
||||||
----
|
----
|
||||||
include::{sourcedir}/container-publish-snapshot.gitlab-ci.yml[]
|
include::{sourcedir}/container-publish-snapshot.gitlab-ci.yml[]
|
||||||
|
|||||||
@ -16,12 +16,12 @@ Falls das Projekt aus mehreren Poms besteht, kann `before_script:` benutzt werde
|
|||||||
|DOCKER_REGISTRY | Definiert die Registry an zu dem das Image veröffentlicht werden soll | $CI_REGISTRY_IMAGE
|
|DOCKER_REGISTRY | Definiert die Registry an zu dem das Image veröffentlicht werden soll | $CI_REGISTRY_IMAGE
|
||||||
|DOCKER_REGISTRY_USER | Definiert den User der benutzt werden soll | $CI_REGISTRY_USER
|
|DOCKER_REGISTRY_USER | Definiert den User der benutzt werden soll | $CI_REGISTRY_USER
|
||||||
|DOCKER_REGISTRY_PASSWORD | Definiert das Passwort des Benutzers | $CI_REGISTRY_PASSWORD
|
|DOCKER_REGISTRY_PASSWORD | Definiert das Passwort des Benutzers | $CI_REGISTRY_PASSWORD
|
||||||
|EXTRA_ARGS | Weitere Argumente die an an den jeweiligen Job gegeben werden sollen. | ""
|
|EXTRA_ARGS | Weitere Argumente die an den jeweiligen Job gegeben werden sollen. | ""
|
||||||
|USE_VERSIONFILE | Wenn true, dann wird zur Versionierung das ./version file aus dem set-version tool verwendet | "false"
|
|USE_VERSIONFILE | Wenn true, dann wird zur Versionierung das ./version file aus dem set-version tool verwendet | "false"
|
||||||
|ARTIFACT | Der Name des Versionfiles aus dem set-version tool | "version"
|
|ARTIFACT | Der Name des Versionfiles aus dem set-version tool | "version"
|
||||||
|===
|
|===
|
||||||
|
|
||||||
.sonar-template
|
.container-publish
|
||||||
[source,yaml]
|
[source,yaml]
|
||||||
----
|
----
|
||||||
include::{sourcedir}/container-publish.gitlab-ci.yml[]
|
include::{sourcedir}/container-publish.gitlab-ci.yml[]
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
Kopiert Daten mithilfe von scp aus dem Repo auf ein Deployment-System.
|
Kopiert Daten mithilfe von scp aus dem Repo auf ein Deployment-System.
|
||||||
Dort wird über SSH Docker-compose up ausgeführt.
|
Dort wird über SSH Docker-compose up ausgeführt.
|
||||||
Für die SSH Verbindung muss ein Private-Key in den CI-CD variablen hinter dem Namen $SSH_PRIVATE_KEY abgelegt werden.
|
Für die SSH Verbindung muss ein Private-Key in den CI-CD Variablen unter dem Namen $SSH_PRIVATE_KEY abgelegt werden.
|
||||||
Wenn bereits andere SSH Keys vorhanden sind kann SSH_PRIVATE_KEY_DEPLOY in den Varibalen überschrieben werden.
|
Wenn bereits andere SSH Keys vorhanden sind kann SSH_PRIVATE_KEY_DEPLOY in den Varibalen überschrieben werden.
|
||||||
|
|
||||||
Um die Compose-Files zu parametrisieren kann ein .env File benutzt werden.
|
Um die Compose-Files zu parametrisieren kann ein .env File benutzt werden.
|
||||||
Dieses sollte mit einem Skript das hinter der variable ENV_SETUP_FILE hinterlegt ist erstellt werden.
|
Dieses sollte mit einem Skript das unter der Variable ENV_SETUP_FILE hinterlegt ist erstellt werden.
|
||||||
.env File sollten nicht in der Repo liegen da keine Passwörter in der Repo liegen sollten.
|
.env File sollten nicht in der Repo liegen da keine Passwörter in der Repo liegen sollten.
|
||||||
|
|
||||||
.Beispiel für ein setup_env.sh
|
.Beispiel für ein setup_env.sh
|
||||||
@ -29,7 +29,7 @@ echo SOME_PASSWORD="$SOME_PASSWORD" >>.env
|
|||||||
|
|
||||||
|Name |Description | Default Value
|
|Name |Description | Default Value
|
||||||
| SSH_PRIVATE_KEY_DEPLOY
|
| SSH_PRIVATE_KEY_DEPLOY
|
||||||
| Private key der zugriff auf den Deployment Server hat.
|
| Private key der Zugriff auf den Deployment Server hat.
|
||||||
| $SSH_PRIVATE_KEY (In den CI-CD variablen)
|
| $SSH_PRIVATE_KEY (In den CI-CD variablen)
|
||||||
|
|
||||||
| SSH_URL
|
| SSH_URL
|
||||||
@ -45,8 +45,8 @@ echo SOME_PASSWORD="$SOME_PASSWORD" >>.env
|
|||||||
| "$CI_REGISTRY"
|
| "$CI_REGISTRY"
|
||||||
|
|
||||||
| ENV_SETUP_FILE
|
| ENV_SETUP_FILE
|
||||||
| Falls ein .env file benutzt werden soll kann es mit einem sh script erstellt werden.
|
| Falls ein .env file benutzt werden soll, kann es mit einem sh script erstellt werden.
|
||||||
Secrets sollten nicht in der Repository liegen sondern in den CI-CD variablen der Repository settings.
|
Secrets sollten nicht in der Repository liegen, sondern in den CI-CD Variablen der Repository settings.
|
||||||
| "setup_env.sh"
|
| "setup_env.sh"
|
||||||
|
|
||||||
| SCP_DESTINATION
|
| SCP_DESTINATION
|
||||||
@ -54,7 +54,7 @@ Secrets sollten nicht in der Repository liegen sondern in den CI-CD variablen de
|
|||||||
| -
|
| -
|
||||||
|
|
||||||
| SCP_SOURCE
|
| SCP_SOURCE
|
||||||
| Pfad zu den daten die mit hilfe von SCP kopiert werden sollen.
|
| Pfad zu den daten die mithilfe von SCP kopiert werden sollen.
|
||||||
| $CI_PROJECT_DIR
|
| $CI_PROJECT_DIR
|
||||||
|
|
||||||
| COMPOSE_EXTRA_ARGS
|
| COMPOSE_EXTRA_ARGS
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
= Gradle-build-template
|
= Gradle-build-template
|
||||||
|
|
||||||
Diese Template läd die Dependencies herunter und das Projekt.
|
Dieses Template lädt die Dependencies herunter und baut das Projekt.
|
||||||
Die Ergebnisse werden als Artifact gespeichert.
|
Die Ergebnisse werden als Artifact gespeichert.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Die Ergebnisse werden als Artifact gespeichert.
|
|||||||
|Name |Description | Default Value
|
|Name |Description | Default Value
|
||||||
|===
|
|===
|
||||||
|
|
||||||
.gradle-build-template
|
.gradle-test-template
|
||||||
[source,yaml]
|
[source,yaml]
|
||||||
----
|
----
|
||||||
include::{sourcedir}/gradle-test-template.gitlab-ci.yml[]
|
include::{sourcedir}/gradle-test-template.gitlab-ci.yml[]
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
= maven-build-template
|
= maven-build-template
|
||||||
|
|
||||||
Diese Template Baut die .jar Files und speichert die Ergebnisse als Artifact.
|
Dieses Template baut die .jar Files und speichert die Ergebnisse als Artifact.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
= maven-dependencies-template
|
= maven-dependencies-template
|
||||||
|
|
||||||
Dieses Template läd die Maven Abhängigkeiten des Projekts runter.
|
Dieses Template lädt die Maven Abhängigkeiten des Projekts runter.
|
||||||
Bitte den Cache hinzufügen. Siehe xref:Generel-Veriablen[Generelle Veriablen]
|
Bitte den Cache hinzufügen. Siehe xref:Generel-Variablen[Generelle Variablen]
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
= npm-build-template
|
= npm-build-template
|
||||||
|
|
||||||
Dieses Template baut das NPM projekt und speichert die Ergebnisse als Artifact..
|
Dieses Template baut das NPM projekt und speichert die Ergebnisse als Artifact.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
= npm-dependencies-template
|
= npm-dependencies-template
|
||||||
|
|
||||||
Dieses Template läd die NPM Abhängigkeiten des Projekts runter.
|
Dieses Template läd die NPM Abhängigkeiten des Projekts runter.
|
||||||
Bitte den Cache hinzufügen. Siehe xref:Generel-Veriablen[Generelle Veriablen]
|
Bitte den Cache hinzufügen. Siehe xref:Generel-Variablen[Generelle Variablen]
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
= npm-lint-template
|
= npm-lint-template
|
||||||
|
|
||||||
Dieses Template durchläuft den Linter das NPM projekts.
|
Dieses Template durchläuft den Linter des NPM Projekts.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
= npm-test-template
|
= npm-test-template
|
||||||
|
|
||||||
Dieses Template baut das NPM projekt.
|
Dieses Template baut das NPM Projekt.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
= Publish-Image-jib
|
= Publish-Image-jib
|
||||||
|
|
||||||
Baut mithilfe von jib ein Docker Image und läd es in der Docker Registry des Projekt hoch.
|
Baut mithilfe von jib ein Docker Image und läd es in die Docker Registry des Projekts hoch.
|
||||||
Dieser Schritt wird nur ausgeführt, wenn ein Tag gesetzt wird.
|
Dieser Schritt wird nur ausgeführt, wenn ein Tag gesetzt wird.
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
= Dokumentation-Tool-template
|
= Dokumentation-Tool-template
|
||||||
|
|
||||||
Das Dokumentation-Tool template.
|
Das Dokumentation-Tool template.
|
||||||
Mehr Details und die Variablendokumentation sind zu finden hier: https://gitlab.exxcellent.de/gilden/ci/exxcellent-documentation-tool[Gilde CI/CD: exxcellent-documentation-tool].
|
Mehr Details und die Variablendokumentation sind hier zu finden: https://gitlab.exxcellent.de/gilden/ci/exxcellent-documentation-tool[Gilde CI/CD: exxcellent-documentation-tool].
|
||||||
|
|
||||||
.dokumentation-tool
|
.dokumentation-tool
|
||||||
[source,yaml]
|
[source,yaml]
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
= sonar-template
|
= sonar-template
|
||||||
|
|
||||||
Ruft den Sonar Job für das Projekt auf.
|
Ruft den Sonar Job für das Projekt auf.
|
||||||
Mehr Details zu finden hier: https://gitlab.exxcellent.de/gilden/ci/exxcellent-sonar-tool[Gilde CI/CD: exxcellent-sonar-tool].
|
Mehr Details sind hier zu finden: https://gitlab.exxcellent.de/gilden/ci/exxcellent-sonar-tool[Gilde CI/CD: exxcellent-sonar-tool].
|
||||||
|
|
||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
@ -15,6 +15,8 @@ Mehr Details zu finden hier: https://gitlab.exxcellent.de/gilden/ci/exxcellent-s
|
|||||||
(Es wird dann standardmäßig der Maven project.name verwendet)
|
(Es wird dann standardmäßig der Maven project.name verwendet)
|
||||||
|SONAR_EXCLUSIONS | Files die Sonar ausgeschlossen werden |"**/target/**,**/src/test/**"
|
|SONAR_EXCLUSIONS | Files die Sonar ausgeschlossen werden |"**/target/**,**/src/test/**"
|
||||||
|SONAR_SKIP_BUILD_BREAKER | Definiert ob der Build Breaker übersprungen werden soll | "true"
|
|SONAR_SKIP_BUILD_BREAKER | Definiert ob der Build Breaker übersprungen werden soll | "true"
|
||||||
|
|SONAR_QUERY_MAX_ATTEMPTS_BUILD_BREAKER | Maximale Anzahl an Anfragen, um den Sonar-Report zu erhalten | "30"
|
||||||
|
|SONAR_QUERY_INTERVAL_BUILD_BREAKER | Zeit in Millisekunden zwischen 2 Anfragen, um den Sonar-Report zu erhalten | "10000"
|
||||||
|
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,17 @@
|
|||||||
.sonar-template:
|
.sonar-template-common:
|
||||||
stage: test
|
stage: test
|
||||||
image: $MAVEN_IMAGE
|
|
||||||
variables:
|
variables:
|
||||||
SONAR_HOST_URL: http://sonar7.exxcellent.de/sonar7
|
SONAR_HOST_URL: http://sonar7.exxcellent.de/sonar7
|
||||||
SONAR_PROJECT_KEY: ""
|
SONAR_PROJECT_KEY: ""
|
||||||
SONAR_PROJECT_NAME: ""
|
SONAR_PROJECT_NAME: ""
|
||||||
SONAR_EXCLUSIONS: "**/target/**,**/src/test/**"
|
SONAR_EXCLUSIONS: "**/target/**,**/src/test/**"
|
||||||
SONAR_SKIP_BUILD_BREAKER: "true"
|
SONAR_SKIP_BUILD_BREAKER: "true"
|
||||||
|
SONAR_QUERY_MAX_ATTEMPTS_BUILD_BREAKER: "30"
|
||||||
|
SONAR_QUERY_INTERVAL_BUILD_BREAKER: "10000"
|
||||||
|
|
||||||
|
.sonar-template:
|
||||||
|
extends: .sonar-template-common
|
||||||
|
image: $MAVEN_IMAGE
|
||||||
script:
|
script:
|
||||||
- mvn $MAVEN_CLI_OPTS test sonar:sonar
|
- mvn $MAVEN_CLI_OPTS test sonar:sonar
|
||||||
"-Dsonar.host.url=$SONAR_HOST_URL"
|
"-Dsonar.host.url=$SONAR_HOST_URL"
|
||||||
@ -15,3 +20,19 @@
|
|||||||
"-Dsonar.projectName=$SONAR_PROJECT_NAME"
|
"-Dsonar.projectName=$SONAR_PROJECT_NAME"
|
||||||
"-Dsonar.exclusions=$SONAR_EXCLUSIONS"
|
"-Dsonar.exclusions=$SONAR_EXCLUSIONS"
|
||||||
"-Dsonar.buildbreaker.skip=$SONAR_SKIP_BUILDBREAKER"
|
"-Dsonar.buildbreaker.skip=$SONAR_SKIP_BUILDBREAKER"
|
||||||
|
"-Dsonar.buildbreaker.queryMaxAttempts=$SONAR_QUERY_MAX_ATTEMPTS_BUILD_BREAKER"
|
||||||
|
"-Dsonar.buildbreaker.queryInterval=$SONAR_QUERY_INTERVAL_BUILD_BREAKER"
|
||||||
|
|
||||||
|
.sonar-template-gradle:
|
||||||
|
extends: .sonar-template-common
|
||||||
|
image: $GRADLE_IMAGE
|
||||||
|
script:
|
||||||
|
- ./gradlew $GRADLE_OPTS sonarqube
|
||||||
|
"-Dsonar.host.url=$SONAR_HOST_URL"
|
||||||
|
"-Dsonar.login=$SONAR_TOKEN"
|
||||||
|
"-Dsonar.projectKey=$SONAR_PROJECT_KEY"
|
||||||
|
"-Dsonar.projectName=$SONAR_PROJECT_NAME"
|
||||||
|
"-Dsonar.exclusions=$SONAR_EXCLUSIONS"
|
||||||
|
"-Dsonar.buildbreaker.skip=$SONAR_SKIP_BUILDBREAKER"
|
||||||
|
"-Dsonar.buildbreaker.queryMaxAttempts=$SONAR_QUERY_MAX_ATTEMPTS_BUILD_BREAKER"
|
||||||
|
"-Dsonar.buildbreaker.queryInterval=$SONAR_QUERY_INTERVAL_BUILD_BREAKER"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user