mirror of
https://github.com/dokku/dokku.git
synced 2025-12-28 16:06:40 +01:00
cleaning things up
This commit is contained in:
30
deploystep
Executable file
30
deploystep
Executable file
@@ -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
|
||||
@@ -4,7 +4,7 @@ cat<<EOF
|
||||
upstream $APP { server 127.0.0.1:$PORT; }
|
||||
server {
|
||||
listen 80;
|
||||
server_name $APP.$HOSTNAME;
|
||||
server_name $HOSTNAME;
|
||||
location / { proxy_pass http://$APP; }
|
||||
}
|
||||
EOF
|
||||
37
receiver
37
receiver
@@ -1,34 +1,15 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
echo "-----> 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
|
||||
Reference in New Issue
Block a user