#!/bin/bash set -e echo "-----> Building $1 ..." APP="app/$1" cat | $HOME/buildstep $APP 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 "cd /app && ./start") echo $ID > "$HOME/$1/CONTAINER" else ID=$(docker run -d -p 5000 -e PORT=5000 $APP /bin/bash -c "cd /app && ./start") 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 echo "-----> Application deployed:" if [[ $DOMAIN ]]; then echo " http://$1.$DOMAIN" else echo " http://$(hostname -i | cut -d' ' -f3):$PORT" fi echo