👷 Add Jenkinsfile
authorDavid Roden <github-a8in@qsheltier.de>
Sat, 25 Jan 2025 12:23:03 +0000 (13:23 +0100)
committerDavid Roden <github-a8in@qsheltier.de>
Sat, 25 Jan 2025 12:23:03 +0000 (13:23 +0100)
Jenkinsfile [new file with mode: 0644]

diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644 (file)
index 0000000..2701024
--- /dev/null
@@ -0,0 +1,44 @@
+pipeline {
+    agent any
+
+    options {
+        timestamps()
+    }
+
+    stages {
+        stage('Build') {
+            tools {
+                jdk 'OpenJDK 21'
+            }
+            steps {
+                sh './mvnw clean compile test-compile'
+            }
+        }
+        stage('Test') {
+            tools {
+                jdk 'OpenJDK 21'
+            }
+            steps {
+                sh './mvnw verify'
+            }
+            post {
+                always {
+                    junit 'target/surefire-reports/*.xml'
+                    recordCoverage(tools: [[parser: 'JACOCO', pattern: '**/jacoco.xml']])
+                }
+            }
+        }
+        stage('Binary') {
+            tools {
+                jdk 'OpenJDK 21'
+            }
+            steps {
+                sh './mvnw -DskipTests=true package'
+                archiveArtifacts artifacts: 'target/*.jar', fingerprint: true
+                javadoc javadocDir: 'target/apidocs', keepAll: true
+            }
+        }
+    }
+}
+
+// vi: ts=4 sw=4 et si