aboutsummaryrefslogtreecommitdiff
path: root/control/deploy-control-node
diff options
context:
space:
mode:
authorPaul Sokolovsky <paul.sokolovsky@linaro.org>2011-06-14 16:40:59 +0300
committerPaul Sokolovsky <paul.sokolovsky@linaro.org>2011-06-14 16:40:59 +0300
commit44ce5b3332518b064be9822a86df2ad706be916f (patch)
tree826b762eddfd284f51580df80b585ff317b3b494 /control/deploy-control-node
parent62021a2f68c5cd0c9991bf6e8b697673f8ad9d3b (diff)
Elaborate bzr code deployment.
Tag deployment dirs with bzr revision, use symlink to point to the current code checkout.
Diffstat (limited to 'control/deploy-control-node')
-rwxr-xr-xcontrol/deploy-control-node21
1 files changed, 16 insertions, 5 deletions
diff --git a/control/deploy-control-node b/control/deploy-control-node
index f27bd81..d1a35f9 100755
--- a/control/deploy-control-node
+++ b/control/deploy-control-node
@@ -13,8 +13,6 @@
set -ex
TSTAMP=`date '+%Y%m%dT%H%M'`
-# be sure to execute in deployment dir
-cd
function header() {
echo "======================================"
@@ -22,6 +20,21 @@ function header() {
echo "======================================"
}
+function bzr_deploy() {
+ bzr_repo=$1
+ deploy_dir=$2
+ if [ -e $deploy_dir -a ! -h $deploy_dir ]; then
+ mv $deploy_dir $deploy_dir.old
+ fi
+ bzr branch $bzr_repo $deploy_dir.new
+ revno=`bzr revno $deploy_dir.new`
+ mv $deploy_dir.new $deploy_dir.r$revno-$TSTAMP
+ ln -sf $deploy_dir.r$revno-$TSTAMP $deploy_dir
+}
+
+# be sure to execute in deployment dir
+cd
+
header "Deploying linaro-android-mirror"
running_repos=`ps ax|grep bin/repo|grep -v grep || true`
if [ -n "$running_repos" ]; then
@@ -35,8 +48,6 @@ fi
sudo kill `sudo cat /home/git-mirror/service.pid`
sleep 2
-bzr branch lp:linaro-android-mirror linaro-android-mirror.new
-mv linaro-android-mirror linaro-android-mirror.$TSTAMP
-mv linaro-android-mirror.new linaro-android-mirror
+bzr_deploy lp:linaro-android-mirror linaro-android-mirror
cd linaro-android-mirror
sudo -H -u git-mirror twistd -y mirror-service.tac --umask=0022 --pid ~git-mirror/service.pid --logfile ~git-mirror/service.log