124 lines
2.5 KiB
Bash
Executable File
124 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
######
|
|
# This script builds the docker image locally
|
|
# It expects docker to be logged in to ECR (see aws-login)
|
|
|
|
set -e
|
|
|
|
VERBOSE=0
|
|
|
|
DIR=`dirname $(realpath "${BASH_SOURCE[0]}")`
|
|
OLDDIR=`pwd`
|
|
cd "$DIR"
|
|
|
|
source "$DIR/../config"
|
|
source "$DIR/libs.sh"
|
|
|
|
usage() {
|
|
echo "Usage: $0 [-h] [-v] [-t: version] [action(s), see below]" 1>&2;
|
|
echo "This script builds framework docker images, the following options are available:" 1>&2;
|
|
echo " -h: This message" 1>&2;
|
|
echo " Actions" 1>&2;
|
|
echo " -u: Unit tests locally" 1>&2;
|
|
echo " -d: Run debug vesion locally" 1>&2;
|
|
echo " -p: Publish (requires a version)" 1>&2;
|
|
echo " -t: Software version, this will be used for the docker tag (default: local)" 1>&2;
|
|
echo " -v: Verbose" 1>&2;
|
|
exit 1;
|
|
}
|
|
|
|
UNIT_MODE=0
|
|
DEBUG_MODE=0
|
|
PUBLISH_MODE=0
|
|
SELECTED_MODES=0
|
|
|
|
TAG="local"
|
|
|
|
while getopts "t:hvudp" o; do
|
|
case "${o}" in
|
|
u)
|
|
UNIT_MODE=1
|
|
SELECTED_MODES+=1
|
|
;;
|
|
d)
|
|
DEBUG_MODE=1
|
|
SELECTED_MODES+=1
|
|
;;
|
|
p)
|
|
PUBLISH_MODE=1
|
|
SELECTED_MODES+=1
|
|
;;
|
|
|
|
t)
|
|
TAG=${OPTARG}
|
|
;;
|
|
v)
|
|
VERBOSE=1
|
|
;;
|
|
h)
|
|
usage
|
|
;;
|
|
*)
|
|
printerr "Unsupported option ${o}"
|
|
usage
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ $SELECTED_MODES -eq 0 ]]; then
|
|
printerr "No mode selected"
|
|
usage
|
|
fi
|
|
|
|
if [[ $SELECTED_MODES -ne 1 ]]; then
|
|
printerr "Select only one mode"
|
|
usage
|
|
fi
|
|
|
|
./aws-login.sh
|
|
|
|
if [[ $UNIT_MODE -eq 1 ]]; then
|
|
BUILDOPT+="u"
|
|
UNITOPT=""
|
|
if [[ $VERBOSE -gt 0 ]]; then
|
|
BUILDOPT+="v"
|
|
UNITOPT="-v"
|
|
fi
|
|
msg "running ./build.sh -$BUILDOPT -t $TAG"
|
|
./build.sh -$BUILDOPT -t $TAG
|
|
|
|
./run-unit.sh $UNITOPT -t $TAG
|
|
fi
|
|
|
|
if [[ $PUBLISH_MODE -eq 1 ]]; then
|
|
BUILDOPT+="bu"
|
|
VERBOPT=""
|
|
if [[ $VERBOSE -gt 0 ]]; then
|
|
BUILDOPT+="v"
|
|
VERBOPT="-v"
|
|
fi
|
|
msg "running ./build.sh -$BUILDOPT -t $TAG"
|
|
./build.sh -$BUILDOPT -t $TAG
|
|
|
|
./run-unit.sh $VERBOPT -t $TAG
|
|
|
|
./publish.sh $VERBOPT -t $TAG
|
|
fi
|
|
|
|
|
|
if [[ $DEBUG_MODE -eq 1 ]]; then
|
|
BUILDOPT+="d"
|
|
if [[ $VERBOSE -gt 0 ]]; then
|
|
BUILDOPT+="v"
|
|
fi
|
|
msg "running ./build.sh -$BUILDOPT -t $TAG"
|
|
./build.sh -$BUILDOPT -t $TAG
|
|
|
|
OUT_FOLDER="/home/$PROJECT_AUTHOR/$PROJECT_BUILDNAME/local"
|
|
mkdir -p $OUT_FOLDER
|
|
./generateComposeFolder.sh -L -o "$OUT_FOLDER" -t $TAG
|
|
|
|
cd "$OUT_FOLDER"
|
|
docker-compose up -d
|
|
fi
|