You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ie...@apache.org on 2020/06/30 22:23:51 UTC

[james-project] 02/02: JAMES-3225 #comment First draft of Jenkinsfile

This is an automated email from the ASF dual-hosted git repository.

ieugen pushed a commit to branch JAMES-3225-autobuild
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 168cc767ceb1aa6526a61c394bfdcd49e2f94338
Author: Eugen Stan <ie...@apache.org>
AuthorDate: Mon Jun 29 18:07:11 2020 +0300

    JAMES-3225 #comment First draft of Jenkinsfile
    
    * Build without tests
    * Inspired from
    ** https://cwiki.apache.org/confluence/display/INFRA/Multibranch+Pipeline+recipes
    ** https://gitbox.apache.org/repos/asf?p=camel.git;a=blob;f=Jenkinsfile;h=2c6a0ae19e2365a36ae845c5256ea4a8d970150f;hb=HEAD
---
 Jenkinsfile | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..8bafc55
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,78 @@
+#!groovy
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+def AGENT_LABEL = env.AGENT_LABEL ?: 'ubuntu'
+def JDK_NAME = env.JDK_NAME ?: 'JDK 11 (latest)'
+
+pipeline {
+
+    agent {
+        label AGENT_LABEL
+    }
+
+    environment {
+        CI=true
+    }
+
+    tools {
+        jdk JDK_NAME
+    }
+
+    options {
+        // Configure an overall timeout for the build of one hour.
+        timeout(time: 1, unit: 'HOURS')
+        // When we have test-fails e.g. we don't need to run the remaining steps
+        skipStagesAfterUnstable()
+        buildDiscarder(
+                logRotator(artifactNumToKeepStr: '5', numToKeepStr: '10')
+        )
+        disableConcurrentBuilds()
+    }
+
+    stages {
+        stage('Build') {
+            steps {
+                sh "./gradlew clean build -x tests"
+            }
+        }
+    }
+
+    // Do any post build stuff ... such as sending emails depending on the overall build result.
+    post {
+        // If this build failed, send an email to the list.
+        failure {
+            echo "Failed "
+        }
+
+        // If this build didn't fail, but there were failing tests, send an email to the list.
+        unstable {
+            echo "Unstable "
+        }
+
+        // Send an email, if the last build was not successful and this one is.
+        success {
+            echo "Success "
+        }
+
+        always {
+            echo "Build done"
+        }
+    }
+}
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org