74 lines
1.5 KiB
Bash
Executable File
74 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
my_dir="$(dirname "$0")"
|
|
DIR_RETURN=`pwd`
|
|
|
|
cd "$my_dir"
|
|
|
|
source ../config
|
|
|
|
PROJECT_NAME="$PROJECT_BUILDNAME"
|
|
TEMPLATE_FILE="docker-compose.yml"
|
|
|
|
function help() {
|
|
printf "\n"
|
|
printf "deploy [-h] [-t|p]\n"
|
|
printf "\n"
|
|
printf "Available options:\n"
|
|
printf "\t -h this message\n"
|
|
printf "\t -t Deploy test\n"
|
|
printf "\t -p Deploy production\n"
|
|
printf "\n"
|
|
}
|
|
|
|
TAG_NAME=""
|
|
DEPLOY_PRODUCTION=false
|
|
DEPLOY_TEST=false
|
|
FINAL_DIR=""
|
|
ENVIRONMENT_TYPE="test"
|
|
|
|
|
|
while getopts ":hptv:" optname
|
|
do
|
|
case "$optname" in
|
|
"h")
|
|
OPTION_HELP=true
|
|
;;
|
|
"v")
|
|
TAG_NAME="$OPTARG"
|
|
;;
|
|
":")
|
|
echo "No argument value for option $OPTARG"
|
|
exit 1;
|
|
;;
|
|
*)
|
|
# Should not occur
|
|
echo "Unknown error while processing options"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ -z $TAG_NAME ]]; then
|
|
echo "You must pass a tagname!";
|
|
exit 1;
|
|
fi
|
|
|
|
FINAL_DIR="/home/asdynamics/dockerenv/$PROJECT_NAME"
|
|
COMPOSE_PROJECT_NAME="local_$PROJECT_NAME"
|
|
|
|
|
|
|
|
cat "$TEMPLATE_FILE" |
|
|
sed -e "s/§TAG_NAME§/${TAG_NAME}/g" |
|
|
sed -e "s/§PROJECT_BUILDNAME§/${PROJECT_BUILDNAME}/g" |
|
|
sed -e "s~§PROJECT_GROUP§~${PROJECT_GROUP}~g" |
|
|
sed -e "s/§ENVIRONMENT_TYPE§/${ENVIRONMENT_TYPE}/g" \
|
|
> "$FINAL_DIR/docker-compose.yml"
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Compose file creation failed..."
|
|
exit 1
|
|
fi
|
|
|
|
cd "$DIR_RETURN"
|