#!groovy // Jenkinsfile (Pipeline Script) pipeline { agent any tools { jdk 'jdk-11' } environment { gradleParams = "-Pversion=1.0.${BUILD_NUMBER}" // --no-daemon } stages { stage('Checkout') { steps { checkout scm } } stage('Build') { steps{ withGradle { sh "chmod +x ./gradlew" sh "./gradlew ${gradleParams} -x test clean build" } } } stage('Test') { steps { withGradle { sh "./gradlew ${gradleParams} test" } } } stage('Deploy') { steps { withGradle { withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId:'gpg_key', usernameVariable: 'KEY_ID', passwordVariable: 'KEY_PASSWORD']]) { sh 'GPG_TTY=$(tty) ./gradlew ${gradleParams} -Psigning.gnupg.homeDir=""/var/jenkins_home/.gnupg_ci -Psigning.gnupg.keyName=${KEY_ID} -Psigning.gnupg.passphrase=${KEY_PASSWORD} -Psigning.gnupg.useLegacyGpg=true 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' } } } } } }