zutil/Jenkinsfile
2024-09-11 01:44:46 +02:00

55 lines
1.7 KiB
Groovy
Executable file

#!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 './gradlew ${gradleParams} -Psigning.gnupg.homeDirr=/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'
}
}
}
}
}
}