You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2024/02/02 12:07:42 UTC

(jackrabbit-site) branch main updated: JCRSITE-55: Build and publish with Jenkins

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

kwin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jackrabbit-site.git


The following commit(s) were added to refs/heads/main by this push:
     new ea571a66 JCRSITE-55: Build and publish with Jenkins
ea571a66 is described below

commit ea571a66713a6ad10b0830bc6812274fa3dca6cd
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Jan 25 12:37:34 2024 +0100

    JCRSITE-55: Build and publish with Jenkins
---
 Jenkinsfile.txt | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pom.xml         |  2 +-
 2 files changed, 74 insertions(+), 1 deletion(-)

diff --git a/Jenkinsfile.txt b/Jenkinsfile.txt
new file mode 100644
index 00000000..325f7816
--- /dev/null
+++ b/Jenkinsfile.txt
@@ -0,0 +1,73 @@
+/*
+ * 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 {
+        label 'svn-websites'
+    }
+    stages {
+        stage('Checkout') {
+            steps {
+                // Clean before build
+                cleanWs()
+                // We need to explicitly checkout from SCM here
+                checkout scm
+            }
+        }
+        stage('Build only') {
+            when {
+                not { branch 'main' }
+            }
+            steps {
+                withEnv(["JAVA_HOME=${ tool "jdk_17_latest" }",
+                         "PATH+MAVEN=${ tool "jdk_17_latest" }/bin:${tool "maven_3_latest"}/bin",
+                         "MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {                 
+                    sh "mvn -U -ntp clean site -Dmaven.repo.local=.repository"
+                }
+            }
+        }
+        stage('Site Deploy') {
+            when {
+                branch 'main'
+            }
+            steps {
+                withEnv(["JAVA_HOME=${ tool "jdk_17_latest" }",
+                         "PATH+MAVEN=${ tool "jdk_17_latest" }/bin:${tool "maven_3_latest"}/bin",
+                         "MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {                 
+                    sh "mvn -U -ntp clean site-deploy -Dmaven.repo.local=.repository"
+                }             
+            }
+        }
+    }
+    post {
+        always {
+            jenkinsNotify()
+        }
+    }
+    options {
+        buildDiscarder(logRotator(numToKeepStr:'15'))
+        timeout(time: 10, unit: 'MINUTES')
+        skipStagesAfterUnstable()
+        //timestamps()
+        disableConcurrentBuilds()
+        ansiColor('xterm')
+        // This is required if you want to clean before build
+        skipDefaultCheckout(true)
+    }
+}
diff --git a/pom.xml b/pom.xml
index ffe49b32..1fea8096 100644
--- a/pom.xml
+++ b/pom.xml
@@ -156,7 +156,7 @@
 
     <distributionManagement>
         <site>
-            <id>jackrabbit.site-deploy</id>
+            <id>apache.website</id>
             <url>scm:svn:https://svn.apache.org/repos/asf/jackrabbit/site/live/jcr</url>
         </site>
     </distributionManagement>