bib-watcher/Jenkinsfile
2023-11-30 18:29:10 +01:00

54 lines
1.4 KiB
Groovy

pipeline {
agent any
options {
buildDiscarder(logRotator(numToKeepStr: "100"))
skipDefaultCheckout(true)
}
triggers {
pollSCM("*/10 * * * *")
}
environment {
SONAR_SCANNER_VERSION="4.7.0.2747"
SONAR_SCANNER_HOME="$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux"
PATH="$SONAR_SCANNER_HOME/bin:$PATH"
SONAR_SCANNER_OPTS="-server"
}
stages {
stage('Checkout') {
steps{
//cleanWs()
checkout scm
}
}
/*stage('Clean') {
steps {
withEnv(["PATH+RUST=$HOME/.cargo/bin"]) { // Cargo needs to be installed for the jenkins user
sh 'cargo clean'
}
}
}*/
stage('Build') {
steps {
withSonarQubeEnv(installationName: 'SQ Bib Watcher', envOnly: true) {
withEnv(["PATH+RUST=$HOME/.cargo/bin"]) {
sh 'cargo build --release'
}
}
}
}
// For this to work, edit sonar-scanner script to set use_embedded_jre=false
stage('SonarQube Analysis') {
steps {
withSonarQubeEnv(installationName: 'SQ Bib Watcher', envOnly: true) {
withEnv(["PATH+RUST=$HOME/.cargo/bin"]) {
sh """
SONAR_TOKEN="$SONAR_AUTH_TOKEN"
cargo clippy --message-format=json &> clippy-output.json
sonar-scanner -Dsonar.projectKey=bib-watcher -Dsonar.sources=. -Dsonar.host.url=http://grover.local:9000
"""
}
}
}
}
}
}