From a174555089bd10ba6965083773860f23327f88bd Mon Sep 17 00:00:00 2001 From: Jeff Lindsay Date: Sun, 9 Jun 2013 18:12:57 -0700 Subject: [PATCH] cleaning things up --- deploystep | 30 ++++++++++++++++++++++++++++++ nginx-app-conf | 2 +- receiver | 37 +++++++++---------------------------- 3 files changed, 40 insertions(+), 29 deletions(-) create mode 100755 deploystep diff --git a/deploystep b/deploystep new file mode 100755 index 000000000..558c8a080 --- /dev/null +++ b/deploystep @@ -0,0 +1,30 @@ +#!/bin/bash +APP="$1" +CONTAINER="$2" + +if [[ -f "$HOME/DOMAIN" ]]; then + DOMAIN=$(< "$HOME/DOMAIN") +fi + +if [[ ! -f "$HOME/$APP/PORT" ]]; then + # First deploy + ID=$(docker run -d -p 5000 -e PORT=5000 $CONTAINER /bin/bash -c "/start web") + echo $ID > "$HOME/$APP/CONTAINER" + PORT=$(docker inspect $ID | ruby -e 'require"json";puts JSON.parse(STDIN.read)["NetworkSettings"]["PortMapping"]["5000"]') + echo $PORT > "$HOME/$APP/PORT" + if [[ $DOMAIN ]]; then + HOSTNAME="$APP.$DOMAIN" + $HOME/nginx-app-conf $APP $PORT $HOSTNAME > $HOME/$APP/nginx.conf + nc -U $HOME/reload-nginx + else + HOSTNAME="$(hostname -i | cut -d' ' -f3):$PORT" + fi + echo $HOSTNAME > "$HOME/$APP/HOSTNAME" +else + # Regular deploy + OLDID=$(< "$HOME/$APP/CONTAINER") + docker kill $OLDID > /dev/null + PORT=$(< "$HOME/$APP/PORT") + ID=$(docker run -d -p ":$PORT" -e "PORT=$PORT" $CONTAINER /bin/bash -c "/start web") + echo $ID > "$HOME/$APP/CONTAINER" +fi diff --git a/nginx-app-conf b/nginx-app-conf index 1bd506daf..3ac9236cb 100755 --- a/nginx-app-conf +++ b/nginx-app-conf @@ -4,7 +4,7 @@ cat< Building $1 ..." -APP="app/$1" -cat | $HOME/buildstep $APP +APP="$1" +CONTAINER="app/$APP" + +echo "-----> Building $APP ..." +cat | $HOME/buildstep $CONTAINER echo "-----> Build complete!" -echo "-----> Deploying $1 ..." -if [[ -f "$HOME/DOMAIN" ]]; then - DOMAIN=$(< "$HOME/DOMAIN") -fi -if [[ -f "$HOME/$1/PORT" ]]; then - OLDID=$(< "$HOME/$1/CONTAINER") - docker kill $OLDID > /dev/null - PORT=$(< "$HOME/$1/PORT") - ID=$(docker run -d -p ":$PORT" -e "PORT=$PORT" $APP /bin/bash -c "/start web") - echo $ID > "$HOME/$1/CONTAINER" -else - ID=$(docker run -d -p 5000 -e PORT=5000 $APP /bin/bash -c "/start web") - echo $ID > "$HOME/$1/CONTAINER" - PORT=$(docker inspect $ID | ruby -e 'require"json";puts JSON.parse(STDIN.read)["NetworkSettings"]["PortMapping"]["5000"]') - echo $PORT > "$HOME/$1/PORT" - if [[ $DOMAIN ]]; then - $HOME/nginx-app-conf $1 $PORT $DOMAIN > $HOME/$1/nginx.conf - nc -U $HOME/reload-nginx - fi -fi + +echo "-----> Deploying $APP ..." +$HOME/deploystep $APP $CONTAINER echo echo "-----> Application deployed:" -if [[ $DOMAIN ]]; then - echo " http://$1.$DOMAIN" -else - echo " http://$(hostname -i | cut -d' ' -f3):$PORT" -fi +echo " http://$(< "$HOME/$APP/HOSTNAME")" echo \ No newline at end of file