#!groovy // Jenkinsfile (Pipeline Script) mavenConfiguration = [ jdk: "jdk-11", maven: "m3.5", mavenLocalRepo: ".repository", mavenSettingsConfig: "639c4560-87b7-4502-bb3d-2c44845cd2b5" ] node { stage('Checkout') { checkout scm } withGradle { def gradleParams = "--no-daemon -Pversion=1.0.${BUILD_NUMBER}" stage('Build') { sh "chmod +x ./gradlew" sh "./gradlew ${gradleParams} -x test clean build" } stage('Test') { sh "./gradlew ${gradleParams} test" } stage('Deploy') { withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId:'gpg_key', usernameVariable: 'KEY_ID', passwordVariable: 'KEY_PASSWORD']]) { sh "./gradlew ${gradleParams} -Psigning.homeDir=/var/jenkins_home/.gnupg_ci -psigning.keyId=${KEY_ID} -Psigning.password=${KEY_PASSWORD} sign" } sh "./gradlew ${gradleParams} publishToMavenLocal" withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId:'36795fd4-6f0a-491b-b869-b26ec9c06996', usernameVariable: 'SONATYPE_NEXUS_USERNAME', passwordVariable: 'SONATYPE_NEXUS_PASSWORD']]) { sh "./gradlew ${gradleParams} -PSONATYPE_NEXUS_USERNAME=${SONATYPE_NEXUS_USERNAME} -PSONATYPE_NEXUS_PASSWORD=${SONATYPE_NEXUS_PASSWORD} -Prelease publish" } sh "mvn ${mvnParams} scm:tag" } } }