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:50 UTC

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

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 {