Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- _options="v:bBfFdDsSh"
- usage() {
- echo """
- Usage $0 [-v <version>] -b -B -f -F -d -D -s -S
- -v - version for docker images
- -b - build backend
- -B - skip backend build
- -f - build frontend
- -F - skip frontend build
- -d - build docker
- -D - skip docker build
- -s - skip docker backend
- -S - skip docker frontend
- All parameters are optional, default values are provided
- """ >&2
- }
- _version="local-v1"
- _frontend_path="../shivah-frontend"
- _mvn_opts="clean package -T1C -DskipTests"
- _rebuild_backend="t"
- _rebuild_frontend="t"
- _rebuild_docker="t"
- _skip_docker_frontend="f"
- _skip_docker_backend="f"
- if test -t 1; then
- # see if it supports colors...
- ncolors=$(tput colors)
- if test -n "$ncolors" && test $ncolors -ge 8; then
- bold="$(tput bold)"
- underline="$(tput smul)"
- standout="$(tput smso)"
- normal="$(tput sgr0)"
- black="$(tput setaf 0)"
- red="$(tput setaf 1)"
- green="$(tput setaf 2)"
- yellow="$(tput setaf 3)"
- blue="$(tput setaf 4)"
- magenta="$(tput setaf 5)"
- cyan="$(tput setaf 6)"
- white="$(tput setaf 7)"
- fi
- fi
- while getopts $_options _option; do
- case $_option in
- v )
- _version=$OPTARG
- ;;
- b )
- _rebuild_backend="t"
- ;;
- B )
- _rebuild_backend="f"
- ;;
- f )
- _rebuild_frontend="t"
- ;;
- F )
- _rebuild_frontend="f"
- ;;
- d )
- _rebuild_docker="t"
- ;;
- D )
- _rebuild_docker="f"
- ;;
- s )
- _skip_docker_backend="t"
- ;;
- S )
- _skip_docker_frontend="t"
- ;;
- h )
- usage
- exit
- ;;
- \? )
- echo "${red}Error.${normal} Unknown option -$OPTARG" >&2
- exit 1
- ;;
- : )
- echo "${red}Error.${normal} Missing option argument for -$OPTARG" >&2
- exit 1
- ;;
- esac
- done
- if [ -z "${MINIKUBE_ACTIVE_DOCKERD}" ]; then
- echo "${yellow}Minikube environment not found, attempting to set-up.${normal}"
- eval $(minikube docker-env)
- fi
- if [ -z "${MINIKUBE_ACTIVE_DOCKERD}" ]; then
- echo "${red}Minikube environment not found.${normal}"
- exit 1
- else
- echo "${green}Minikube environment present.${normal}"
- fi
- if [ "${_rebuild_backend}" == "t" ]; then
- echo "${green}Building backend.${normal}"
- mvn ${_mvn_opts}
- else
- echo "${yellow}Skipping backend.${normal}"
- fi
- if [ "${_rebuild_frontend}" == "t" ]; then
- echo "${green}Building frontend.${normal}"
- _cwd=$(pwd)
- cd ${_frontend_path} && quasar build
- cd ${_cwd}
- else
- echo "${yellow}Skipping frontend.${normal}"
- fi
- if [ "${_rebuild_docker}" == "t" ]; then
- _cwd=$(pwd)
- echo "${green}Building docker images.${normal}"
- if [ -d "${_frontend_path}/dist/spa" ]; then
- if [ "${_skip_docker_frontend}" == "f" ]; then
- echo "${green}Building${normal} ${underline}frontend:${_version}${normal}"
- cd ${_frontend_path} && docker build -t shivah/frontend:${_version} .
- cd ${_cwd}
- else
- echo "${yellow}Skipping frontend build.${normal}"
- fi
- else
- echo "${red}Unable to build frontend, dist directory is missing.${normal}"
- fi;
- if [ "${_skip_docker_backend}" == "t"]; then
- find . -type f -not -path "*target" -not -path "*dev*" -name Dockerfile -exec dirname {} \; |\
- while read _line; do
- _name=$(basename $_line)
- echo "${green}Building${normal} ${underline}${_name}:${_version}${normal}"
- docker build -t shivah/${_name}:${_version} ${_line}
- done
- else
- echo "${yellow}Skipping backend build.${normal}"
- fi
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement