From b87c238a321cb2019afa316402d3183cc941716d Mon Sep 17 00:00:00 2001 From: Tavin Cole Date: Thu, 11 Dec 2025 12:14:17 +0000 Subject: [PATCH 1/5] fix exclusion of job config.xml in folders --- backup/pvc/bin/backup.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backup/pvc/bin/backup.sh b/backup/pvc/bin/backup.sh index 40c9f8dd..622e458f 100755 --- a/backup/pvc/bin/backup.sh +++ b/backup/pvc/bin/backup.sh @@ -41,11 +41,12 @@ trap '_trap' SIGQUIT SIGINT SIGTERM # config.xml in child directories is state that should. For example- # branches/myorg/branches/myrepo/branches/master/config.xml should be retained while # branches/myorg/config.xml should not +ret=0 tar --zstd -C "${JENKINS_HOME}" -cf "${BACKUP_TMP_DIR}/${BACKUP_NUMBER}.tar.zstd" \ - --exclude jobs/*/workspace* \ - --no-wildcards-match-slash --anchored \ + --exclude 'jobs/*/workspace*' \ + --no-wildcards-match-slash \ --ignore-failed-read \ - --exclude jobs/*/config.xml -c jobs || ret=$? + --exclude 'jobs/*/config.xml' -c jobs || ret=$? if [[ "$ret" -eq 0 ]]; then _log "INFO" "[backup] backup ${BACKUP_NUMBER} was completed without warnings" From c19051a3bf5b2c857afede99f5e91b46b9bbaee9 Mon Sep 17 00:00:00 2001 From: Tavin Cole Date: Mon, 15 Dec 2025 18:24:31 +0000 Subject: [PATCH 2/5] alternative fix --- backup/pvc/bin/backup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backup/pvc/bin/backup.sh b/backup/pvc/bin/backup.sh index 622e458f..e88b6928 100755 --- a/backup/pvc/bin/backup.sh +++ b/backup/pvc/bin/backup.sh @@ -44,8 +44,9 @@ trap '_trap' SIGQUIT SIGINT SIGTERM ret=0 tar --zstd -C "${JENKINS_HOME}" -cf "${BACKUP_TMP_DIR}/${BACKUP_NUMBER}.tar.zstd" \ --exclude 'jobs/*/workspace*' \ - --no-wildcards-match-slash \ + --no-wildcards-match-slash --anchored \ --ignore-failed-read \ + --exclude-ignore=.jenkinsbackupignore \ --exclude 'jobs/*/config.xml' -c jobs || ret=$? if [[ "$ret" -eq 0 ]]; then From de6b593bb52ec094f9ad4f933a032dbeb0e004a1 Mon Sep 17 00:00:00 2001 From: Tavin Cole Date: Tue, 16 Dec 2025 16:27:16 +0000 Subject: [PATCH 3/5] e2e input covering fixed case --- .../jenkins_home/jobs/some-folder/.jenkinsbackupignore | 1 + .../backup_and_restore/jenkins_home/jobs/some-folder/config.xml | 0 .../jobs/some-folder/jobs/some-job/builds/1/build.xml | 1 + .../jenkins_home/jobs/some-folder/jobs/some-job/builds/1/log | 1 + .../jenkins_home/jobs/some-folder/jobs/some-job/config.xml | 0 .../jenkins_home/jobs/some-folder/jobs/some-job/nextBuildNumber | 1 + 6 files changed, 4 insertions(+) create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/.jenkinsbackupignore create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/config.xml create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/build.xml create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/log create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/config.xml create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/nextBuildNumber diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/.jenkinsbackupignore b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/.jenkinsbackupignore new file mode 100644 index 00000000..ea20bb49 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/.jenkinsbackupignore @@ -0,0 +1 @@ +jobs/some-folder/jobs/*/config.xml diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/config.xml b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/config.xml new file mode 100644 index 00000000..e69de29b diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/build.xml b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/build.xml new file mode 100644 index 00000000..5d0bb326 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/build.xml @@ -0,0 +1 @@ +build.xml \ No newline at end of file diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/log b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/log new file mode 100644 index 00000000..7f236fe6 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/builds/1/log @@ -0,0 +1 @@ +build logs \ No newline at end of file diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/config.xml b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/config.xml new file mode 100644 index 00000000..e69de29b diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/nextBuildNumber b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/nextBuildNumber new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home/jobs/some-folder/jobs/some-job/nextBuildNumber @@ -0,0 +1 @@ +2 \ No newline at end of file From d973c82ac53ac90423399106982d9caf4314c00b Mon Sep 17 00:00:00 2001 From: Tavin Cole Date: Tue, 16 Dec 2025 16:32:53 +0000 Subject: [PATCH 4/5] e2e output assertion for fixed case --- .../jobs/some-folder/.jenkinsbackupignore | 1 + .../jobs/some-folder/jobs/some-job/builds/1/build.xml | 1 + .../jobs/some-folder/jobs/some-job/builds/1/log | 1 + .../jobs/some-folder/jobs/some-job/nextBuildNumber | 1 + 4 files changed, 4 insertions(+) create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/.jenkinsbackupignore create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/build.xml create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/log create mode 100644 backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/nextBuildNumber diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/.jenkinsbackupignore b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/.jenkinsbackupignore new file mode 100644 index 00000000..ea20bb49 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/.jenkinsbackupignore @@ -0,0 +1 @@ +jobs/some-folder/jobs/*/config.xml diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/build.xml b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/build.xml new file mode 100644 index 00000000..5d0bb326 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/build.xml @@ -0,0 +1 @@ +build.xml \ No newline at end of file diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/log b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/log new file mode 100644 index 00000000..7f236fe6 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/builds/1/log @@ -0,0 +1 @@ +build logs \ No newline at end of file diff --git a/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/nextBuildNumber b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/nextBuildNumber new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/backup/pvc/e2e/backup_and_restore/jenkins_home_after_restore/jobs/some-folder/jobs/some-job/nextBuildNumber @@ -0,0 +1 @@ +2 \ No newline at end of file From 7f2d732dee95d566ca15786d3e14ddc20c86cf4e Mon Sep 17 00:00:00 2001 From: Tavin Cole Date: Tue, 30 Dec 2025 15:52:49 +0000 Subject: [PATCH 5/5] bump version --- backup/pvc/VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backup/pvc/VERSION.txt b/backup/pvc/VERSION.txt index f87d474c..79b0815e 100644 --- a/backup/pvc/VERSION.txt +++ b/backup/pvc/VERSION.txt @@ -1 +1 @@ -v0.4.3 +v0.4.4