Files
web/build.sh
2023-08-27 21:01:17 -04:00

43 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# build.sh sets these env vars as output:
# DEXORDER_WEB_VERSION
# DEXORDER_WEB_IMAGE
DOCKER=docker
CONTAINER=dexorder-web
SCRIPT_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
WEB_HOME=${WEB_HOME:-$SCRIPT_HOME}
cd $WEB_HOME || exit 1
DIRTY="$( git status | grep "Changes " )"
if [ "$DIRTY" != "" ] && [ "$1" != "dev" ]; then
echo "$WEB_HOME has uncommited changes"
exit 1
fi
DEXORDER_WEB_VERSION="$( git log --oneline | head -1 | cut -d ' ' -f 1 )"
if [ "$1" == "dev" ]; then
shift
DEXORDER_WEB_VERSION="dev`date +%Y%m%d%H%M%S`"
fi
DEXORDER_WEB_IMAGE="gcr.io/cointrader-211623/$CONTAINER:$DEXORDER_WEB_VERSION"
echo $DEXORDER_WEB_IMAGE
echo "const dexorderWebVersion='$DEXORDER_WEB_VERSION'" > "$WEB_HOME/public/version.js"
npm run build
DOCKERFILE=deploy/Dockerfile
$DOCKER build -f "$DOCKERFILE" -t "$DEXORDER_WEB_IMAGE" .
if [ $? != 0 ]; then
echo 'container build failed'
exit 1
fi
export DEXORDER_WEB_VERSION
export DEXORDER_WEB_IMAGE
echo $(date) build complete