Dies ist eine alte Version des Dokuments!
LU04.A01 SonarQube ...
Erfassen Sie hierfür einen Task, sofern noch keiner existiert. Verweisen Sie in allen Commit-Messages dieser Aufgabe auf den entsprechenden Task.
- Öffnen Sie die auf Teams geteilte Webseite und loggen Sie sich auf der Jenkins-Instanz ein.
- Erstellen Sie eine neue Pipeline via „+ New Item“, dann „Pipeline“. Als Namen können Sie Ihren Repository-Namen angeben.
- Nutzen Sie den untenstehenden Beispielcode als „Pipeline script“.
- Führen Sie die Pipeline aus und überprüfen Sie, ob das der Status korrekt ist.
Pipeline-Script
pipeline {
agent any
environment {
PROJECT_NAME = "cicd" // TODO: anpassen
BRANCH_NAME = "develop" // TODO: anpassen
REPO_URL = "https://github.com/AlexanderPeter/${PROJECT_NAME}.git" // TODO: anpassen
SONAR_SCANNER_OPTS = "-Xmx512m"
NODE_OPTIONS = "--max-old-space-size=384"
}
stages {
stage('Checkout') {
steps {
git branch: BRANCH_NAME,
url: REPO_URL
}
}
stage('SonarQube Analysis') {
steps {
sh """
echo "Starting SonarQube analysis of $PROJECT_NAME"
echo "SONAR_SCANNER_OPTS=$SONAR_SCANNER_OPTS"
echo "NODE_OPTIONS=$NODE_OPTIONS"
"""
script {
def scannerHome = tool 'sonar-scanner'
withSonarQubeEnv('SonarQube') {
sh """
${scannerHome}/bin/sonar-scanner \
-Dsonar.projectKey=${PROJECT_NAME}
"""
}
}
}
}
}
}