You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by se...@apache.org on 2023/04/26 12:28:49 UTC

[comdev-site] branch preview/test3 created (now 434da34)

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

sebb pushed a change to branch preview/test3
in repository https://gitbox.apache.org/repos/asf/comdev-site.git


      at 434da34  Try combining deploy branches

This branch includes the following new commits:

     new 434da34  Try combining deploy branches

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[comdev-site] 01/01: Try combining deploy branches

Posted by se...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch preview/test3
in repository https://gitbox.apache.org/repos/asf/comdev-site.git

commit 434da3454deb85f97a1da850ea5425c496f12258
Author: Sebb <se...@apache.org>
AuthorDate: Wed Apr 26 13:26:48 2023 +0100

    Try combining deploy branches
---
 Jenkinsfile | 61 +++++++++----------------------------------------------------
 1 file changed, 9 insertions(+), 52 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 9f52128..3a3bd8d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -23,8 +23,7 @@ pipeline {
     }
    
     environment {
-        DEPLOY_BRANCH = 'asf-site'
-        STAGING_BRANCH = "${env.BRANCH_NAME}-staging"
+        DEPLOY_BRANCH = "${env.BRANCH_NAME == "main" ? "asf-site" : "${env.BRANCH_NAME}-staging"}"
         HUGO_VERSION = '0.111.3'
         HUGO_HASH = 'b382aacb522a470455ab771d0e8296e42488d3ea4e61fe49c11c32ec7fb6ee8b'
         PAGEFIND_VERSION = '0.12.0'
@@ -74,18 +73,22 @@ pipeline {
                 }
             }
         }
+        // https://www.jenkins.io/doc/book/pipeline/syntax/#built-in-conditions
+        // branch uses Ant-style patterns by default:
+        // https://ant.apache.org/manual/dirtasks.html#patterns
+        // Exclude branches ending in '-staging'
         stage('Deploy') {
             when {
-                anyOf {
-                    branch 'main'
+                not {
+                  branch '**/*-staging'
                 }
             }
             steps {
                 script {
                     // Checkout branch with generated content
                     sh """
-                        git checkout ${DEPLOY_BRANCH}
-                        git pull origin ${DEPLOY_BRANCH}
+                        git checkout ${DEPLOY_BRANCH} || git checkout -b ${DEPLOY_BRANCH}
+                        git pull origin ${DEPLOY_BRANCH} || echo "branch ${DEPLOY_BRANCH} is new"
                     """
                     
                     // Remove the content of the target branch and replace it with the content of the temp folder
@@ -109,52 +112,6 @@ pipeline {
                 }
             }
         }
-        stage('Staging') {
-            // Mostly duplicated from the Deploy branch, there must be a better way...
-            // https://www.jenkins.io/doc/book/pipeline/syntax/#built-in-conditions
-            // branch uses Ant-style patterns by default:
-            // https://ant.apache.org/manual/dirtasks.html#patterns
-            // Exclude branches ending in '-staging'
-            // This agrees with the definition of STAGING_BRANCH
-            when {
-                allOf {
-                    not {
-                      branch '**/*-staging'
-                    }
-                    not {
-                      branch 'main'
-                    }
-                }
-            }
-            steps {
-                script {
-                    // Checkout or create branch with generated content
-                    sh """
-                        git checkout ${STAGING_BRANCH} || git checkout -b ${STAGING_BRANCH}
-                        git pull origin ${STAGING_BRANCH} || echo "branch ${STAGING_BRANCH} is new"
-                    """
-
-                    // Remove the content of the target branch and replace it with the content of the temp folder
-                    sh """
-                        rm -rf ${WORKSPACE}/content
-                        git rm -r --ignore-unmatch --cached content/*
-                        mkdir -p ${WORKSPACE}/content
-                        cp -rT ${env.TMP_DIR}/* ${WORKSPACE}/content
-                    """
-
-                    // Commit the changes to the target branch
-                    env.COMMIT_MESSAGE1 = "Updated ${STAGING_BRANCH} from ${BRANCH_NAME} at ${env.LAST_SHA}"
-                    env.COMMIT_MESSAGE2 = "Built from ${BUILD_URL}"
-                    sh """
-                        git add -A
-                        git commit -m "${env.COMMIT_MESSAGE1}" -m "${env.COMMIT_MESSAGE2}" | true
-                    """
-
-                    // Push the generated content for deployment
-                    sh "git push -u origin ${STAGING_BRANCH}"
-                }
-            }
-        }
     }
     
     post {