mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-17 21:35:38 +02:00
#104 Backups should only exclude config.xml in top level job directories
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
FROM alpine:3.9
|
||||
FROM debian:buster-slim
|
||||
|
||||
ENV USER=user
|
||||
ENV UID=1000
|
||||
@@ -10,8 +10,8 @@ RUN addgroup --gid "$GID" "$USER" && \
|
||||
--gecos "" \
|
||||
--ingroup "$USER" \
|
||||
--uid "$UID" \
|
||||
"$USER" && \
|
||||
apk add --no-cache bash
|
||||
"$USER"
|
||||
|
||||
WORKDIR /home/user/bin
|
||||
COPY bin .
|
||||
RUN chmod +x *.sh
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ endif
|
||||
|
||||
define e2e
|
||||
echo "\nRunning $(1) e2e test";
|
||||
@e2e/$(1)/test.sh $(DOCKER_REGISTRY)-$(NAME):$(GITCOMMIT);
|
||||
@e2e/$(1)/test.sh $(DOCKER_REGISTRY)-$(NAME):$(GITCOMMIT)
|
||||
endef
|
||||
|
||||
.PHONY: docker-e2e
|
||||
|
||||
@@ -10,7 +10,11 @@ BACKUP_TMP_DIR=$(mktemp -d)
|
||||
backup_number=$1
|
||||
echo "Running backup"
|
||||
|
||||
tar -C ${JENKINS_HOME} -czf "${BACKUP_TMP_DIR}/${backup_number}.tar.gz" --exclude jobs/*/config.xml --exclude jobs/*/workspace* -c jobs && \
|
||||
# config.xml in a job directory is a config file that shouldnt be backed up
|
||||
# config.xml in child directores is state that should. For example-
|
||||
# branches/myorg/branches/myrepo/branches/master/config.xml should be retained while
|
||||
# branches/myorg/config.xml should not
|
||||
tar -C ${JENKINS_HOME} -czf "${BACKUP_TMP_DIR}/${backup_number}.tar.gz" --exclude jobs/*/workspace* --no-wildcards-match-slash --anchored --exclude jobs/*/config.xml -c jobs && \
|
||||
mv ${BACKUP_TMP_DIR}/${backup_number}.tar.gz ${BACKUP_DIR}/${backup_number}.tar.gz
|
||||
|
||||
[[ ! -s ${BACKUP_DIR}/${backup_number}.tar.gz ]] && echo "backup file '${BACKUP_DIR}/${backup_number}.tar.gz' is empty" && exit 1;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
build.xml
|
||||
+1
@@ -0,0 +1 @@
|
||||
build.xml
|
||||
+1
@@ -0,0 +1 @@
|
||||
build logs
|
||||
+1
@@ -0,0 +1 @@
|
||||
2
|
||||
@@ -16,6 +16,7 @@ fi
|
||||
JENKINS_HOME="$(pwd)/jenkins_home"
|
||||
BACKUP_DIR="$(pwd)/backup"
|
||||
RESTORE_FOLDER="$(pwd)/restore"
|
||||
JENKINS_HOME_AFTER_RESTORE="$(pwd)/jenkins_home_after_restore"
|
||||
mkdir -p ${BACKUP_DIR}
|
||||
mkdir -p ${RESTORE_FOLDER}
|
||||
|
||||
@@ -35,6 +36,6 @@ backup_file="${BACKUP_DIR}/${backup_number}.tar.gz"
|
||||
docker exec -it ${cid} /bin/bash -c "JENKINS_HOME=${RESTORE_FOLDER};/home/user/bin/restore.sh ${backup_number}"
|
||||
|
||||
echo "Compare directories"
|
||||
diff --brief --recursive ${JENKINS_HOME} ${RESTORE_FOLDER}
|
||||
diff --brief --recursive "${RESTORE_FOLDER}" "${JENKINS_HOME_AFTER_RESTORE}"
|
||||
echo "Directories are the same"
|
||||
echo PASS
|
||||
Reference in New Issue
Block a user