#104 Backups should only exclude config.xml in top level job directories
This commit is contained in:
parent
bf07fa59ef
commit
c6c3987588
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
build.xml
|
||||
|
|
@ -0,0 +1 @@
|
|||
build logs
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue