You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by de...@apache.org on 2020/07/24 05:22:14 UTC
[cxf] branch master updated: created Jenkinsfile based on
https://github.com/apache/struts/blob/master/Jenkinsfile
This is an automated email from the ASF dual-hosted git repository.
deki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new ef53e68 created Jenkinsfile based on https://github.com/apache/struts/blob/master/Jenkinsfile
ef53e68 is described below
commit ef53e68a21747a39198db22a3dbf804512fbebab
Author: Dennis Kieselhorst <de...@apache.org>
AuthorDate: Fri Jul 24 07:20:19 2020 +0200
created Jenkinsfile based on https://github.com/apache/struts/blob/master/Jenkinsfile
---
Jenkinsfile | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 240 insertions(+)
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..a41fc4b
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,240 @@
+#!groovy
+
+pipeline {
+ agent none
+ options {
+ buildDiscarder logRotator(daysToKeepStr: '14', numToKeepStr: '10')
+ timeout(80)
+ disableConcurrentBuilds()
+ skipStagesAfterUnstable()
+ quietPeriod(30)
+ }
+ triggers {
+ pollSCM 'H/15 * * * *'
+ }
+ stages {
+ stage('Prepare') {
+ agent {
+ label 'ubuntu'
+ }
+ stages {
+ stage('Clean up') {
+ steps {
+ cleanWs deleteDirs: true, patterns: [[pattern: '**/target/**', type: 'INCLUDE']]
+ }
+ }
+ }
+ }
+ parallel {
+ stage('JDK 11') {
+ agent {
+ label 'ubuntu'
+ }
+ tools {
+ jdk 'JDK 11 (latest)'
+ maven 'Maven (latest)'
+ }
+ environment {
+ MAVEN_OPTS = "-Xmx1024m"
+ }
+ stages {
+ stage('Build') {
+ steps {
+ sh 'mvn -B clean install -DskipTests -DskipAssembly'
+ }
+ }
+ stage('Test') {
+ steps {
+ sh 'mvn -B test'
+ // step([$class: 'JiraIssueUpdater', issueSelector: [$class: 'DefaultIssueSelector'], scm: scm])
+ }
+ post {
+ always {
+ junit(testResults: '**/surefire-reports/*.xml', allowEmptyResults: true)
+ junit(testResults: '**/failsafe-reports/*.xml', allowEmptyResults: true)
+ }
+ }
+ }
+ }
+ post {
+ always {
+ cleanWs deleteDirs: true, patterns: [[pattern: '**/target/**', type: 'INCLUDE']]
+ }
+ }
+ }
+ stage('JDK 9') {
+ agent {
+ label 'ubuntu'
+ }
+ tools {
+ jdk 'JDK 1.9 (latest)'
+ maven 'Maven (latest)'
+ }
+ environment {
+ MAVEN_OPTS = "-Xmx1024m"
+ }
+ stages {
+ stage('Build') {
+ steps {
+ sh 'mvn -B clean install -DskipTests -DskipAssembly'
+ }
+ }
+ stage('Test') {
+ steps {
+ sh 'mvn -B test'
+ // step([$class: 'JiraIssueUpdater', issueSelector: [$class: 'DefaultIssueSelector'], scm: scm])
+ }
+ post {
+ always {
+ junit(testResults: '**/surefire-reports/*.xml', allowEmptyResults: true)
+ junit(testResults: '**/failsafe-reports/*.xml', allowEmptyResults: true)
+ }
+ }
+ }
+ }
+ post {
+ always {
+ cleanWs deleteDirs: true, patterns: [[pattern: '**/target/**', type: 'INCLUDE']]
+ }
+ }
+ }
+ stage('JDK 8') {
+ agent {
+ label 'ubuntu'
+ }
+ tools {
+ jdk 'JDK 1.8 (latest)'
+ maven 'Maven (latest)'
+ }
+ environment {
+ MAVEN_OPTS = "-Xmx1024m"
+ }
+ stages {
+ stage('Build') {
+ steps {
+ sh 'mvn -B clean install -DskipTests -DskipAssembly'
+ }
+ }
+ stage('Test') {
+ steps {
+ sh 'mvn -B test'
+ // step([$class: 'JiraIssueUpdater', issueSelector: [$class: 'DefaultIssueSelector'], scm: scm])
+ }
+ post {
+ always {
+ junit(testResults: '**/surefire-reports/*.xml', allowEmptyResults: true)
+ junit(testResults: '**/failsafe-reports/*.xml', allowEmptyResults: true)
+ }
+ }
+ }
+ stage('Build Source & JavaDoc') {
+ when {
+ branch 'master'
+ }
+ steps {
+ dir("local-snapshots-dir/") {
+ deleteDir()
+ }
+ sh 'mvn -B source:jar javadoc:jar -DskipAssembbly'
+ }
+ }
+ }
+ stage('Deploy Snapshot') {
+ when {
+ branch 'master'
+ }
+ steps {
+ withCredentials([file(credentialsId: 'lukaszlenart-repository-access-token', variable: 'CUSTOM_SETTINGS')]) {
+ sh 'mvn -s \${CUSTOM_SETTINGS} deploy -skipAssembly'
+ }
+ }
+ }
+ stage('Code Quality') {
+ when {
+ branch 'master'
+ }
+ steps {
+ withCredentials([string(credentialsId: 'asf-cxf-sonarcloud', variable: 'SONARCLOUD_TOKEN')]) {
+ sh 'mvn sonar:sonar -DskipAssembly -Dsonar.projectKey=cxf -Dsonar.organization=apache -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${SONARCLOUD_TOKEN}'
+ }
+ }
+ }
+ }
+ post {
+ always {
+ cleanWs deleteDirs: true, patterns: [[pattern: '**/target/**', type: 'INCLUDE']]
+ }
+ }
+ }
+ }
+ post {
+ // If this build failed, send an email to the list.
+ failure {
+ script {
+ emailext(
+ to: "notifications@cxf.apache.org",
+ recipientProviders: [[$class: 'DevelopersRecipientProvider']],
+ from: "Mr. Jenkins <je...@builds.apache.org>",
+ subject: "Jenkins job ${env.JOB_NAME}#${env.BUILD_NUMBER} failed",
+ body: """
+There is a build failure in ${env.JOB_NAME}.
+
+Build: ${env.BUILD_URL}
+Logs: ${env.BUILD_URL}console
+Changes: ${env.BUILD_URL}changes
+
+--
+Mr. Jenkins
+Director of Continuous Integration
+"""
+ )
+ }
+ }
+
+ // If this build didn't fail, but there were failing tests, send an email to the list.
+ unstable {
+ script {
+ emailext(
+ to: "notifications@cxf.apache.org",
+ recipientProviders: [[$class: 'DevelopersRecipientProvider']],
+ from: "Mr. Jenkins <je...@builds.apache.org>",
+ subject: "Jenkins job ${env.JOB_NAME}#${env.BUILD_NUMBER} unstable",
+ body: """
+Some tests have failed in ${env.JOB_NAME}.
+
+Build: ${env.BUILD_URL}
+Logs: ${env.BUILD_URL}console
+Changes: ${env.BUILD_URL}changes
+
+--
+Mr. Jenkins
+Director of Continuous Integration
+"""
+ )
+ }
+ }
+
+ // Send an email, if the last build was not successful and this one is.
+ fixed {
+ script {
+ emailext(
+ to: "notifications@cxf.apache.org",
+ recipientProviders: [[$class: 'DevelopersRecipientProvider']],
+ from: 'Mr. Jenkins <je...@builds.apache.org>',
+ subject: "Jenkins job ${env.JOB_NAME}#${env.BUILD_NUMBER} back to normal",
+ body: """
+The build for ${env.JOB_NAME} completed successfully and is back to normal.
+
+Build: ${env.BUILD_URL}
+Logs: ${env.BUILD_URL}console
+Changes: ${env.BUILD_URL}changes
+
+--
+Mr. Jenkins
+Director of Continuous Integration
+"""
+ )
+ }
+ }
+ }
+}