Added Jenkinsfile and sonarfile

master
valentin_lechner 5 years ago
parent be224f55a6
commit 03ed30acf3

@ -0,0 +1,6 @@
projectKey=8008135-dev
serverUrl=http://localhost:9000
serverVersion=7.9.2.30863
dashboardUrl=http://localhost:9000/dashboard?id=8008135-dev
ceTaskId=AW_3GjJbtzrbd5O-L5Zw
ceTaskUrl=http://localhost:9000/api/ce/task?id=AW_3GjJbtzrbd5O-L5Zw

36
Jenkinsfile vendored

@ -0,0 +1,36 @@
#!/usr/bin/env groovy
pipeline {
stages {
stage ('checkout VCS') {
steps {
checkout scm
}
stage ('compile') {
sh 'make'
}
stage ('deploySONAR') {
sh 'sonar-scanner'
}
}
post {
unstable {
script {
notifier.sendMail("CI Build Job ${env.JOB_NAME} [${env.BUILD_NUMBER}] is unstable, please fix it in the near future", "**/*.log")
}
}
failure {
script {
notifier.sendMail("Error while run CI Build Job ${env.JOB_NAME} [${env.BUILD_NUMBER}]", "**/*.log")
}
}
fixed {
script {
notifier.sendMail("CI Build Job ${env.JOB_NAME} [${env.BUILD_NUMBER}] is stable again :-)", "**/*.log")
}
}
}
}

@ -0,0 +1,193 @@
#*******************************************************************************
#
# FILE: sonar-project.properties.template
#
# USAGE: Einbindung in ein Projekt in der CI/CD Pipeline, das nach Sonar
# deployt wird & Anpassung der Variablen
#
# DESCRIPTION: Ein Temlate mithilfe dem SonarQube Projekteinstellungen
# \"ubergeben werden k\"onnen
# Diese Datei ist das Äquivalent der "Jenkins"- oder "Dockerfile"
# für SonarQube
# Anhand von, in dieser Datei spezifizierten Parametern,
# wird das Entwicklungsprojekt von SonarQube analysiert
#
# OPTIONS: -
# REQUIREMENTS: SonarQube/SonarCloud
# BUGS: Hoffentlich keine, bei Problemen bitte kontaktieren
# NOTES:
# AUTHOR: vlr
# ORGANIZATION: highQ
# CREATED: 30.01.2019 11:37:42
# REVISION: 0.1
#*******************************************************************************
# Diese Datei ist das Äquivalent der "Jenkins"- oder "Dockerfile" für SonarQube
# Anhand in dieser Datei spezifizierter Parameter wird das Entwicklungsprojekt
# von SonarQube analysiert
#*** Allgemeines *************************************************************
# Host URL, muss angegeben werden
sonar.host.url=http://localhost:9000
# Default: <url> (maven)
sonar.links.homepage=https://www.fuxxbau.net
# Default: <ci-management> (maven)
sonar.links.ci=http://jenkins.fuxxbau.net
# Default: System Encoding
sonar.sourceEncoding=UTF-8
# sonar.organization=highQ
#*******************************************************************************
#*** Debug *******************************************************************
# M\"ogliche Werte: DEBUG, INFO
# Default: INFO
sonar.log.level=DEBUG
# Ausgabe aller spezifizierten Einstellungen zur Scanner API in ein File
# sonar.scanner.dumpToFile=dump.txt
# Stelle, an die vom Scanner die "report-task.txt" geschrieben wird
# Default: sonar.working.directory
# sonar.scanner.metadataFilePath=
# Stelle in Logs dar, an welchen Stellen der Analyzer wv Zeit ben\"otigt
# Logs zu finden in workingDir/profiling/moduleKey-profiler.xml
# workingDir=.sonar/profiling (sonarscanner)
# bzw target/sonar/profiling (sonarscanner for maven)
# Default: false
# sonar.showProfiling=
# NOTE: There is the potential for this setting to expose sensitive information
# such as passwords if they are stored as server-side environment variables.
# sonar.verbose=
#*******************************************************************************
#*** Projekt *****************************************************************
# Der einzigartige Key des Projekts (Maven Default: <groupId>:<artifactId>
# Erlaubt sind hier Zahlen, Buchstaben, "-","_",".",":"
# mindestens ein char muss keine Zahl sein
# muss angegeben sein, entweder durch maven oder manuell
sonar.projectKey=8008135-dev
# Hier kann entweder Login über einen Nutzer erstellt werden oder \"uber
# ein Login-Token (Weboberfläche -> My Account -> Security -> Generate Token)
# Wenn sonar.password leer ist wird sonar.login als Auth-Token interpretiert
# Alternativ: Anyone-Gruppe Analyse Rechte zuweisen (Serverseitig)
sonar.login=64a1e475ea960ebac8ac203223c59e61e9f7ed95
# sonar.password=
# Name, der in der Weboberfläche angezeigt wird
sonar.projectName=8008135-dev
# Default: <version> (maven), sonst "not provided"
# sonar.projectVersion=
# Default: <description> (maven)
# sonar.projectDescription=
# Kann nicht früher als das letzte Datum der Analyse dieses Projekts in DB sein
# Default:Now. Angabe in yyyy-MM-dd
# sonar.projectDate=
# Kann verwendet werden um zu bestimmen dass die Analyse des Projekts an
# anderer Stelle stattfindet
# ben\"otigt Schreibrechte f\"ur Erstellung von sonar.working.directory
# Default=./
# sonar.projectBaseDir=
#*******************************************************************************
# Max Zeit um auf Webservice Call zu warten (in sec, Default 60)
# Nützlich um auf Timeouts zu reagieren
# sonar.ws.timeout=
#*** SCM *********************************************************************
# Das Plugin, das von SonarQube für das Abfragen von SCM Daten verwendet wird
# Default: Autodetect (-> svn, wenn .svn Ordner hier existiert; git wenn .git)
sonar.scm.provider=git
# Standardm\"assig werden nur bei ver\"anderten Files blame Informationen geladen
# Wenn die Daten outdatet sind, kann man hier auf "true" stellen um upzudaten
# sonar.scm.forceReloadAll=
# Standardm\"assig werden Dateien die vom SCM ignoriert werden (bsp .gitignore)
# bei der Analyse ebenfalls ignoriert.
# Wenn man diesen Wert hier auf true setzt, disabled man dieses Feature
# Default: false
# sonar.scm.exclusions.disabled=
# Überschreiben der Revision
# Default: Provided von CI oder von source geraten
# sonar.scm.revision=
# Default: <issueManagement><url> (maven)
# sonar.links.issue=
# Default: <scm><url> (maven)
# sonar.links.scm=
# Comma Seperated Pfadliste für Generic Issue Reports
# sonar.externalIssuesReportPaths=
#*******************************************************************************
#*** Build *******************************************************************
# Wenn weder sonar.sources noch sonar.tests gegeben: BaseDir(=./)
# Default: Wird aus Build Sys gelesen (Maven, Gradle, MSBuild).
sonar.sources=.
# Default: Wird aus Build Sys gelesen (Maven, Gradle, MSBuild). Sonst leer
# sonar.tests=
# Habe ich nicht ganz einordnen k\"onnen, wof\"ur.
# Offizieller Text:
# The string passed with this property will be stored with the analysis and available in the results of api/project_analyses/search, thus allowing you to later identify a specific analysis and obtain its ID for use with api/project_analyses/set_baseline.
# sonar.buildString=
#*******************************************************************************
#*** Analyse *****************************************************************
# Default:.scannerwork
# sonar.working.directory=
# Hinzuf\"ugen von key-value Paaren zum Analysekontext (-> Webhooks)
# sonar.analysis.[Key001]=
# sonar.analysis.[Key002]=
# Standardm\"assig gilt ein Code als dupliziert wenn mind. 100 Token des Codes
# gleich sind (über 10 Zeilen hinweg)
# Kann sprachenspezifisch überschrieben werden
# sonar.cpd.${language}.minumumtokens=
# sonar.cpd.${language}.minimumLines=
# Diese Parameter sorgen daf\"ur, dass Code zwischen Bl\"ocken nicht analysiert
# wird. Leider werden diese Parameter nicht offiziell unterst\"utzt
# https://community.sonarsource.com/t/how-to-set-sonar-issue-ignore-block-in-sonar-project-properties/10943/6
# Offiziell unterst\"utzt wird nur eine globale Einstellung im Webinterface
# siehe:
# Administration->Configuration->General->Analysis Scope->Ignore Issues in Blocks
# Wird von einem SonarQube Entwickler als "Hack" bezeichnet, was ich nicht
# verstehe, es ist mmN legitim, hier Proj Spezifische Settings zu haben (oder zmd: zu haben wollen).
# Wahrscheinlich ist es auch m\"oglich, andere Einstellungen die im WebUI
# zu finden sind hier zu "hacken"
# sonar.issue.ignore.block=ignore-generated
# sonar.issue.ignore.block.ignore-generated.beginBlockRegexp=DA-ELSE
# sonar.issue.ignore.block.ignore-generated.endBlockRegexp=DA-END
# Hier ein weiteres Beispiel, bei dem das ganze file von Analyse ausgeschlossen
# wird, wenn "@sonar-disable" im File vorkommt
# sonar.issue.ignore.allfile=ignore-file
# sonar.issue.ignore.allfile.ignore-file.fileRegexp=@sonar-disable
#*******************************************************************************
Loading…
Cancel
Save