made deploy.sh a softlink to build.sh
This commit is contained in:
41
bin/build.sh
41
bin/build.sh
@@ -1,7 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" != "backend" ] && [ "$1" != "server" ] && [ "$1" != "web" ]; then
|
||||
echo usage: "$0" '{backend|server|web} [config] [deployment]'
|
||||
echo
|
||||
echo usage: "$0 "'{backend|server|web} [config] [deployment] [kubernetes]'
|
||||
echo
|
||||
echo ' [config] is used to find configuration files e.g. web/.env.{config} or backend/dexorder-{config}.toml. Defaults to project name.'
|
||||
echo
|
||||
echo ' [deployment] refers to the set of contracts bundled in the image, from contract/deployment/{deployment}. Defaults to config name.'
|
||||
echo
|
||||
echo ' [kubernetes] is used to find the yaml file for deployment: deploy/k8s/{kubernetes}.yaml. Defaults to project name.'
|
||||
echo
|
||||
exit 1
|
||||
else
|
||||
PROJECT=$1
|
||||
@@ -21,23 +29,37 @@ if [ "$1" == "dev" ]; then
|
||||
else
|
||||
CONFIG=$1
|
||||
shift
|
||||
DIRTY="$( git status | grep "Changes " )"
|
||||
DIRTY="$( cd $PROJECT && git status | grep "Changes " )"
|
||||
if [ "$DIRTY" != "" ]; then
|
||||
echo $PROJECT has uncommited changes.
|
||||
echo $DIRTY
|
||||
echo
|
||||
echo Use \`$0 $PROJECT dev\` to deploy a development-tagged version instead.
|
||||
exit 1
|
||||
fi
|
||||
TAG="$( git log --oneline $PROJECT | head -1 | cut -d ' ' -f 1 )"
|
||||
DIRTY="$( cd contract && git status | grep "Changes " )"
|
||||
if [ "$DIRTY" != "" ]; then
|
||||
echo contract has uncommited changes.
|
||||
echo
|
||||
echo Use \`$0 $PROJECT dev\` to deploy a development-tagged version instead.
|
||||
exit 1
|
||||
fi
|
||||
TAG="$( cd $PROJECT && git log --oneline | head -1 | cut -d ' ' -f 1 )-$( cd contract && git log --oneline | head -1 | cut -d ' ' -f 1 )"
|
||||
fi
|
||||
|
||||
if [ "$1" != "" ]; then
|
||||
DEPLOYMENT=$1
|
||||
shift
|
||||
else
|
||||
DEPLOYMENT=$CONFIG
|
||||
fi
|
||||
|
||||
if [ "$1" != "" ]; then
|
||||
KUBERNETES=$1
|
||||
shift
|
||||
else
|
||||
KUBERNETES=$PROJECT
|
||||
fi
|
||||
|
||||
if [ $(basename "$0") == 'deploy.sh' ]; then
|
||||
DEPLOY=1
|
||||
else
|
||||
@@ -45,18 +67,17 @@ else
|
||||
fi
|
||||
|
||||
REMOTE=gcr.io/cointrader-211623/dexorder/$PROJECT:$TAG
|
||||
echo $REMOTE
|
||||
|
||||
# todo nocache as a script option
|
||||
#docker build --no-cache -f deploy/Dockerfile-$PROJECT -t dexorder/$PROJECT:latest . || exit 1
|
||||
echo Building $PROJECT config=$CONFIG deployment=$DEPLOYMENT '=>' $TAG
|
||||
docker build -f deploy/docker/Dockerfile-$PROJECT --build-arg="CONFIG=$CONFIG" --build-arg="DEPLOYMENT=$DEPLOYMENT" -t dexorder/$PROJECT:latest . || exit 1
|
||||
docker tag dexorder/$PROJECT:latest dexorder/$PROJECT:$TAG
|
||||
docker tag dexorder/$PROJECT:$TAG $REMOTE
|
||||
echo "$(date)" built dexorder/$PROJECT:$TAG
|
||||
docker build -f deploy/docker/Dockerfile-$PROJECT --build-arg="CONFIG=$CONFIG" --build-arg="DEPLOYMENT=$DEPLOYMENT" -t dexorder/$KUBERNETES:latest . || exit 1
|
||||
docker tag dexorder/$KUBERNETES:latest dexorder/$KUBERNETES:$TAG
|
||||
docker tag dexorder/$KUBERNETES:$TAG $REMOTE
|
||||
echo "$(date)" built $REMOTE
|
||||
|
||||
if [ "$DEPLOY" != "0" ]; then
|
||||
docker push $REMOTE
|
||||
sed "s#dexorder/$PROJECT.*#$REMOTE#" deploy/conf/$PROJECT.yaml | kubectl apply -f -
|
||||
sed "s#dexorder/$PROJECT.*#$REMOTE#" deploy/conf/$KUBERNETES.yaml | kubectl apply -f -
|
||||
echo deployed $PROJECT.yaml $TAG
|
||||
fi
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" != "backend" ] && [ "$1" != "server" ] && [ "$1" != "web" ]; then
|
||||
echo You must specify the project: backend, server, web
|
||||
exit 1
|
||||
else
|
||||
PROJECT=$1
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$1" == "dev" ]; then
|
||||
shift
|
||||
TAG="dev`date +%Y%m%d%H%M%S`"
|
||||
else
|
||||
DIRTY="$( cd $PROJECT && git status | grep "Changes " )"
|
||||
if [ "$DIRTY" != "" ]; then
|
||||
echo $PROJECT has uncommited changes.
|
||||
echo
|
||||
echo Use \`$0 $PROJECT dev\` to deploy a development-tagged version instead.
|
||||
exit 1
|
||||
fi
|
||||
DIRTY="$( cd contract && git status | grep "Changes " )"
|
||||
if [ "$DIRTY" != "" ]; then
|
||||
echo contract has uncommited changes.
|
||||
echo
|
||||
echo Use \`$0 $PROJECT dev\` to deploy a development-tagged version instead.
|
||||
exit 1
|
||||
fi
|
||||
TAG="$( cd $PROJECT && git log --oneline | head -1 | cut -d ' ' -f 1 )-$( cd contract && git log --oneline | head -1 | cut -d ' ' -f 1 )"
|
||||
fi
|
||||
|
||||
if [ $(basename "$0") == 'deploy.sh' ]; then
|
||||
DEPLOY=1
|
||||
else
|
||||
DEPLOY=0
|
||||
fi
|
||||
|
||||
# todo --no-cache as a script option
|
||||
docker build -f deploy/docker/Dockerfile-$PROJECT -t dexorder/$PROJECT:latest . || exit 1
|
||||
docker tag dexorder/$PROJECT:latest dexorder/$PROJECT:$TAG
|
||||
echo $(date) built dexorder/$PROJECT:$TAG
|
||||
|
||||
if [ "$DEPLOY" != "0" ]; then
|
||||
REMOTE=gcr.io/cointrader-211623/dexorder/$PROJECT:$TAG
|
||||
echo pushing $REMOTE
|
||||
docker tag dexorder/$PROJECT:$TAG $REMOTE
|
||||
docker push $REMOTE
|
||||
sed "s#dexorder/$PROJECT.*#$REMOTE#" deploy/k8s/$PROJECT.yaml | kubectl apply -f -
|
||||
echo deployed $PROJECT.yaml $TAG
|
||||
fi
|
||||
1
bin/deploy.sh
Symbolic link
1
bin/deploy.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
build.sh
|
||||
Reference in New Issue
Block a user