You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2018/07/17 10:09:29 UTC

[camel] 01/01: Test website Jenkinsfile

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

zregvart pushed a commit to branch website
in repository https://gitbox.apache.org/repos/asf/camel.git

commit bcb9b82b771da949a0aee18c2e3ca6956c4362a3
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Tue Jul 17 12:01:34 2018 +0200

    Test website Jenkinsfile
---
 Jenkinsfile | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index a34301d..059f575 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -17,6 +17,7 @@
  * under the License.
  */
 
+def BUILD_WEBSITE = !'false'.equalsIgnoreCase(env.BUILD_WEBSITE)
 def LOCAL_REPOSITORY = env.LOCAL_REPOSITORY ?: '/home/jenkins/jenkins-slave/maven-repositories/0'
 def AGENT_LABEL = env.AGENT_LABEL ?: 'ubuntu'
 def JDK_NAME = env.JDK_NAME ?: 'JDK 1.8 (latest)'
@@ -42,10 +43,54 @@ pipeline {
 
     stages {
 
+        stage('Website') {
+            when {
+                expression { BUILD_WEBSITE }
+                anyOf {
+                    changeset "**/*.adoc"
+                    changeset "**/*.html"
+                    changeset "**/*.md"
+                    changeset "**/*.js"
+                }
+            }
+
+            agent {
+                node {
+                    label 'git-websites'
+                }
+            }
+
+            options {
+                skipDefaultCheckout()
+            }
+
+            steps {
+                dir('camel') {
+                    checkout scm
+                    sh "./mvnw -U -B -V -f camel-website"
+                }
+
+                dir('site') {
+                    checkout [ branches: [name: 'asf-site'] ]
+                    sh "cp -R ../camel/camel-website/public/* ."
+                    sh "git add ."
+                }
+            }
+        }
+
         stage('Build & Deploy') {
             when {
                 branch 'master'
+                not {
+                    anyOf {
+                        changeset "**/*.adoc"
+                        changeset "**/*.html"
+                        changeset "**/*.md"
+                        changeset "**/*.js"
+                    }
+                }
             }
+
             steps {
                 sh "./mvnw $MAVEN_PARAMS -Dmaven.test.skip.exec=true clean deploy"
             }
@@ -54,15 +99,35 @@ pipeline {
         stage('Build') {
             when {
                 not {
-                    branch 'master'
+                    allOf {
+                        branch 'master'
+                        anyOf {
+                            changeset "**/*.adoc"
+                            changeset "**/*.html"
+                            changeset "**/*.md"
+                            changeset "**/*.js"
+                        }
+                    }
                 }
             }
+
             steps {
                 sh "./mvnw $MAVEN_PARAMS -Dmaven.test.skip.exec=true clean install"
             }
         }
 
         stage('Checks') {
+            when {
+                not {
+                    anyOf {
+                        changeset "**/*.adoc"
+                        changeset "**/*.html"
+                        changeset "**/*.md"
+                        changeset "**/*.js"
+                    }
+                }
+            }
+
             steps {
                 sh "./mvnw $MAVEN_PARAMS -Psourcecheck -Dcheckstyle.failOnViolation=false checkstyle:check"
             }
@@ -74,6 +139,17 @@ pipeline {
         }
 
         stage('Test') {
+            when {
+                not {
+                    anyOf {
+                        changeset "**/*.adoc"
+                        changeset "**/*.html"
+                        changeset "**/*.md"
+                        changeset "**/*.js"
+                    }
+                }
+            }
+
             steps {
                 sh "./mvnw $MAVEN_PARAMS -Dmaven.test.failure.ignore=true test"
             }