You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2017/04/24 23:53:02 UTC

archiva git commit: add a simple Jenkins file

Repository: archiva
Updated Branches:
  refs/heads/master 04e221a57 -> 3baa6b596


add a simple Jenkins file

Signed-off-by: olivier lamy <ol...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/3baa6b59
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/3baa6b59
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/3baa6b59

Branch: refs/heads/master
Commit: 3baa6b596c7a1831ce77371a89b4dba43bdee4ed
Parents: 04e221a
Author: olivier lamy <ol...@apache.org>
Authored: Tue Mar 7 21:34:08 2017 +1100
Committer: olivier lamy <ol...@apache.org>
Committed: Tue Apr 25 09:52:09 2017 +1000

----------------------------------------------------------------------
 Jenkinsfile | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva/blob/3baa6b59/Jenkinsfile
----------------------------------------------------------------------
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..a585b51
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,71 @@
+node {
+  // System Dependent Locations
+  def mvntool = tool name: 'maven3', type: 'hudson.tasks.Maven$MavenInstallation'
+  def jdktool = tool name: 'jdk8', type: 'hudson.model.JDK'
+
+  // Environment
+  List mvnEnv = ["PATH+MVN=${mvntool}/bin", "PATH+JDK=${jdktool}/bin", "JAVA_HOME=${jdktool}/", "MAVEN_HOME=${mvntool}"]
+  mvnEnv.add("MAVEN_OPTS=-Xms256m -Xmx1024m -Djava.awt.headless=true")
+
+  try
+  {
+    stage 'Checkout'
+    checkout scm
+  } catch (Exception e) {
+    //notifyBuild("Checkout Failure")
+    throw e
+  }
+
+  try
+  {
+    stage 'Build'
+    withEnv(mvnEnv) {
+      timeout(60) {
+        // Run test phase / ignore test failures
+        sh "mvn -B clean install -Dmaven.test.failure.ignore=true"
+        // Report failures in the jenkins UI
+        step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
+      }
+      if(isUnstable())
+      {
+        //notifyBuild("Unstable / Test Errors")
+      }
+    }
+  } catch(Exception e) {
+    notifyBuild("Test Failure")
+    throw e
+  }
+}
+
+// Test if the Jenkins Pipeline or Step has marked the
+// current build as unstable
+def isUnstable()
+{
+  return currentBuild.result == "UNSTABLE"
+}
+
+// Send a notification about the build status
+def notifyBuild(String buildStatus)
+{
+  // default the value
+  buildStatus = buildStatus ?: "UNKNOWN"
+
+  def email = "${env.EMAILADDRESS}"
+  def summary = "${env.JOB_NAME}#${env.BUILD_NUMBER} - ${buildStatus}"
+  def detail = """<h4>Job: <a href='${env.JOB_URL}'>${env.JOB_NAME}</a> [#${env.BUILD_NUMBER}]</h4>
+  <p><b>${buildStatus}</b></p>
+  <table>
+    <tr><td>Build</td><td><a href='${env.BUILD_URL}'>${env.BUILD_URL}</a></td><tr>
+    <tr><td>Console</td><td><a href='${env.BUILD_URL}console'>${env.BUILD_URL}console</a></td><tr>
+    <tr><td>Test Report</td><td><a href='${env.BUILD_URL}testReport/'>${env.BUILD_URL}testReport/</a></td><tr>
+  </table>
+  """
+
+  emailext (
+    to: email,
+    subject: summary,
+    body: detail
+  )
+}
+
+// vim: et:ts=2:sw=2:ft=groovy