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