diff options
Diffstat (limited to 'utils/backup/backup.sh')
-rwxr-xr-x | utils/backup/backup.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/utils/backup/backup.sh b/utils/backup/backup.sh new file mode 100755 index 0000000..68e9a30 --- /dev/null +++ b/utils/backup/backup.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Script to automate Jenkins config configuration backup to git. +# This mostly deals with job config backups - commit other changes +# manually (with good commit messages). +# +set -x + +HOST="ubuntu@android-build.linaro.org" +# Auth proxy (-A) is mandatory for push access +SSH_OPTS="-A" +SSH="ssh $SSH_OPTS" + + +if [ "$1" = "" ]; then + echo "Usage: $0 status|diff|commit" + exit 1 +fi + +if [ "$1" = "status" ]; then + $SSH $HOST "cd /var/lib/jenkins; git status jobs" +elif [ "$1" = "status-all" ]; then + $SSH $HOST "cd /var/lib/jenkins; git status" +elif [ "$1" = "diff" ]; then + $SSH $HOST "cd /var/lib/jenkins; git diff jobs" | less +elif [ "$1" = "diff-all" ]; then + $SSH $HOST "cd /var/lib/jenkins; git diff" | less +elif [ "$1" = "commit" ]; then + if [ "$2" = "" ]; then + msg="Routine jobs update" + $SSH $HOST "cd /var/lib/jenkins; git commit -m \"$msg\" jobs" + msg="Capture new jobs" + $SSH $HOST "cd /var/lib/jenkins; git add jobs; git commit -m \"$msg\" jobs" + else + $SSH $HOST "cd /var/lib/jenkins; git commit -m \"$2\" jobs" + fi +elif [ "$1" = "push" ]; then + $SSH $HOST "cd /var/lib/jenkins; git push" +fi |