Script Backup Restore jobs Jenkins
Create project Bash File for backup and restore
Create File bash for backup
Copy Paste This Script change HOST_SOURCE and HOST_AUTH with your own
HOST_SOURCE="http://10.10.11.35:8080/";
HOST_AUTH="admin:heri";
LIST_JOBS=$(java -jar $(pwd)"/jenkins-cli.jar" -auth $HOST_AUTH -s $HOST_SOURCE -webSocket list-jobs)
PATH_TMP_FOLDERBACKUP=$(pwd)"/backup";
PATH_TMP_FILEBACKUP=$(pwd)"/jenkins-jobs-list.csv";
echo "$LIST_JOBS" > $PATH_TMP_FILEBACKUP
if [ ! -d $PATH_TMP_FOLDERBACKUP ]
then
mkdir $PATH_TMP_FOLDERBACKUP
fi
while read JOB
do
PLAN_FILE_NAME=$(echo ${JOB// /_}".xml")
echo "Start backup job $JOB"
java -jar $(pwd)"/jenkins-cli.jar" -auth $HOST_AUTH -s $HOST_SOURCE -webSocket get-job "$JOB" > "$PATH_TMP_FOLDERBACKUP/$PLAN_FILE_NAME" &
echo "Complete backup job $JOB"
done < "$PATH_TMP_FILEBACKUP"
rm $PATH_TMP_FILEBACKUP
echo "Done"
Create File bash for restore
copy paste this script chnsge HOST_DEST and HOST_AUTH with your own
#!/bin/bash
HOST_DEST="http://10.10.11.30:8081/"
HOST_AUTH="admin:heri"
PATH_FOLDER_RESTORE=$(pwd)"/backup"
LIST_JOBS=$(ls -ltrh $PATH_FOLDER_RESTORE | awk -F" " '{print $10}')
PATH_TMP_FILEBACKUP=$(pwd)"/jenkins-jobs-list.csv"
echo "$LIST_JOBS" > $PATH_TMP_FILEBACKUP
if [ ! -d $PATH_TMP_FOLDERBACKUP ]
then
echo "Folder Restore not exists"
exit
fi
while read JOB
do
if [ ! -z "$JOB" ]
then
PLAN_FILE_NAME1=$(echo ${JOB//.xml/ })
PLAN_FILE_NAME=$(echo ${PLAN_FILE_NAME1//_/ })
echo "Start backup job $JOB"
java -jar $(pwd)"/jenkins-cli.jar" -auth $HOST_AUTH -s $HOST_DEST -webSocket create-job "$PLAN_FILE_NAME" < "$PATH_FOLDER_RESTORE/$JOB" &
echo "Complete backup job $JOB"
fi
done < "$PATH_TMP_FILEBACKUP"
echo "Done"
Run Script for backup
Run Script for restore
Download Source Code Here
Done
Category: Tekno