aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorPaul Sokolovsky <paul.sokolovsky@linaro.org>2013-11-19 19:30:42 +0200
committerPaul Sokolovsky <paul.sokolovsky@linaro.org>2013-11-19 19:30:42 +0200
commitb1c770ba09dce085117e9eabc078ed2f9a48fc0b (patch)
treef6344533831d7dcaceee89ad0838b09686be9b5d /utils
parent3507e13441f23754bd3ae3c6636d25298cab8d62 (diff)
Move backup script to utils/.
Diffstat (limited to 'utils')
-rwxr-xr-xutils/backup/backup.sh39
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