You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by bd...@apache.org on 2023/04/21 09:16:41 UTC
[comdev-site] branch main updated: Fix Jenkinsfile for staging branches
This is an automated email from the ASF dual-hosted git repository.
bdelacretaz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/comdev-site.git
The following commit(s) were added to refs/heads/main by this push:
new ae23306 Fix Jenkinsfile for staging branches
ae23306 is described below
commit ae23306bc18af2c05611a58de39efa921fd1ec0d
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Fri Apr 21 11:16:12 2023 +0200
Fix Jenkinsfile for staging branches
---
Jenkinsfile | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 43ce8b1..faa88e9 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -24,6 +24,7 @@ pipeline {
environment {
DEPLOY_BRANCH = 'asf-site'
+ STAGING_BRANCH = "${env.BRANCH_NAME}-staging"
HUGO_VERSION = '0.111.3'
HUGO_HASH = 'b382aacb522a470455ab771d0e8296e42488d3ea4e61fe49c11c32ec7fb6ee8b'
PAGEFIND_VERSION = '0.12.0'
@@ -90,7 +91,7 @@ pipeline {
// 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 --cached content/*
+ git rm -r --ignore-unmatch --cached content/*
mkdir -p ${WORKSPACE}/content
cp -rT ${env.TMP_DIR}/* ${WORKSPACE}/content
"""
@@ -108,6 +109,42 @@ pipeline {
}
}
}
+ stage('Staging') {
+ // Mostly duplicated from the Deploy branch, there must be a better way...
+ when {
+ 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 {