2017-10-06 17:13:45 +02:00
|
|
|
#!groovy
|
2016-12-19 15:56:30 +01:00
|
|
|
// Jenkinsfile (Pipeline Script)
|
2016-12-19 16:16:39 +01:00
|
|
|
|
2017-10-26 17:22:42 +02:00
|
|
|
mavenConfiguration = [
|
2021-03-08 23:44:31 +01:00
|
|
|
jdk: "jdk-11",
|
2024-09-10 00:41:46 +02:00
|
|
|
maven: "m3.5",
|
2017-10-26 17:22:42 +02:00
|
|
|
mavenLocalRepo: ".repository",
|
|
|
|
|
mavenSettingsConfig: "639c4560-87b7-4502-bb3d-2c44845cd2b5"
|
|
|
|
|
]
|
|
|
|
|
|
2024-09-11 00:11:25 +02:00
|
|
|
pipeline {
|
|
|
|
|
agent any
|
2016-12-19 15:56:30 +01:00
|
|
|
|
2024-09-11 00:11:25 +02:00
|
|
|
tools {
|
|
|
|
|
jdk 'jdk-11'
|
2024-09-11 01:19:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
environment {
|
|
|
|
|
gradleParams = "-Pversion=1.0.${BUILD_NUMBER}" // --no-daemon
|
2024-09-11 00:11:25 +02:00
|
|
|
}
|
2018-07-25 13:44:23 +02:00
|
|
|
|
2024-09-11 00:11:25 +02:00
|
|
|
stages {
|
|
|
|
|
stage('Checkout') {
|
2024-09-11 00:16:56 +02:00
|
|
|
steps {
|
2024-09-11 01:19:36 +02:00
|
|
|
checkout scm
|
2024-09-11 00:16:56 +02:00
|
|
|
}
|
2016-12-19 15:56:30 +01:00
|
|
|
}
|
|
|
|
|
|
2024-09-11 01:19:36 +02:00
|
|
|
stage('Build') {
|
|
|
|
|
steps{
|
|
|
|
|
withGradle {
|
|
|
|
|
sh "chmod +x ./gradlew"
|
|
|
|
|
sh "./gradlew ${gradleParams} -x test clean build"
|
2024-09-11 00:16:56 +02:00
|
|
|
}
|
2024-09-10 23:52:35 +02:00
|
|
|
}
|
2024-09-11 01:19:36 +02:00
|
|
|
}
|
2024-09-10 23:52:35 +02:00
|
|
|
|
2024-09-11 01:19:36 +02:00
|
|
|
stage('Test') {
|
|
|
|
|
steps {
|
|
|
|
|
withGradle {
|
|
|
|
|
sh "./gradlew ${gradleParams} test"
|
2024-09-11 00:16:56 +02:00
|
|
|
}
|
2024-09-10 23:52:35 +02:00
|
|
|
}
|
2024-09-11 01:19:36 +02:00
|
|
|
}
|
2024-09-10 22:36:53 +02:00
|
|
|
|
2024-09-11 01:19:36 +02:00
|
|
|
stage('Deploy') {
|
|
|
|
|
steps {
|
|
|
|
|
withGradle {
|
2024-09-11 00:16:56 +02:00
|
|
|
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"
|
|
|
|
|
}
|
2024-09-11 00:11:25 +02:00
|
|
|
|
2024-09-11 00:16:56 +02:00
|
|
|
sh "./gradlew ${gradleParams} publishToMavenLocal"
|
2024-09-11 00:11:25 +02:00
|
|
|
|
2024-09-11 00:16:56 +02:00
|
|
|
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"
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-09-11 00:11:25 +02:00
|
|
|
}
|
2017-10-26 17:17:49 +02:00
|
|
|
}
|
|
|
|
|
}
|
2024-09-11 01:19:36 +02:00
|
|
|
}
|