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

cwiklik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/uima-async-scaleout.git


The following commit(s) were added to refs/heads/master by this push:
     new a77dce2  Add JenkinsFile to migrate from old Jenkins
a77dce2 is described below

commit a77dce2d23044961fdb91091b2aa955b6fcd2270
Author: cwiklik <cwikl...@gmail.com>
AuthorDate: Wed Aug 19 12:53:03 2020 -0500

    Add JenkinsFile to migrate from old Jenkins
---
 JenkinsFile | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)

diff --git a/JenkinsFile b/JenkinsFile
new file mode 100644
index 0000000..0338bbd
--- /dev/null
+++ b/JenkinsFile
@@ -0,0 +1,88 @@
+// 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.
+  
+pipeline {
+  agent any
+  tools { 
+    maven 'Maven (latest)' 
+    jdk 'JDK 1.8 (latest)' 
+  }
+
+  options {
+    buildDiscarder(logRotator(
+      numToKeepStr: '25', 
+      artifactNumToKeepStr: '5'
+    ))
+    
+    // Seems not to be working reliably yet: 
https://issues.jenkins-ci.org/browse/JENKINS-48556
+    // timestamps()
+  }
+  
+  parameters {
+    string(
+      name: 'extraMavenArguments',
+      defaultValue: "",
+      description: "Extra arguments to be passed to maven (for testing)")
+  }
+
+  stages {
+    // Display information about the build environemnt. This can be useful for 
debugging
+    // build issues.
+    stage("Build info") {
+      steps {
+        echo '=== Environment variables ==='
+        sh 'printenv'
+      }
+    }
+        
+    // Perform a merge request build. This is a conditional stage executed 
with the GitLab
+    // sources plugin triggers a build for a merge request. To avoid conflicts 
with other
+    // builds, this stage should not deploy artifacts to the Maven repository 
server and
+    // also not install them locally.
+    stage("Pull request build") {
+      when { branch 'PR-*' }
+    
+      steps {
+        script {
+          currentBuild.description = 'Triggered by: <a href="' + CHANGE_URL + 
'">' + BRANCH_NAME +
+            ': ' + env.CHANGE_BRANCH + '</a> (' +  
env.CHANGE_AUTHOR_DISPLAY_NAME + ')'
+        }
+
+        withMaven() {
+          sh script: 'mvn ' +
+            params.extraMavenArguments +
+            ' -U -Dmaven.test.failure.ignore=true clean verify'
+        }
+      }
+    }
+    
+    // Perform a SNAPSHOT build of a main branch. This stage is typically 
executed after a
+    // merge request has been merged. On success, it deploys the generated 
artifacts to the
+    // Maven repository server.
+    stage("SNAPSHOT build") {
+      when { branch pattern: "master", comparator: "REGEXP" }
+      
+      steps {
+        withMaven() {
+          sh script: 'mvn ' +
+            params.extraMavenArguments +
+            ' -U -Dmaven.test.failure.ignore=true clean deploy'
+        }
+      }
+    }
+  }
+}
\ No newline at end of file

Reply via email to