Files
fdn2/scripts/core.sh
T
2022-08-29 23:20:16 +02:00

118 lines
2.4 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 -ne 1 ]]; then
printerr "Select only one mode"
usage
fi
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