123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/bin/bash
- #
- # deploy-parts - Deploy parts of an application
- #
- # usage: deploy-parts --parts "api, app, web"
- #
- # Parts defaults to "api, app, ui, web". Missing parts are silently ignored.
- # Parses keys.json and expands tokens using product.json and pak.json.
- # Calls bin/deploy if present, lese docker-deploy-elb if AWS_PROXY is defined, else docker-deploy-instance.
- # Invokes deploy script with same args as passed in.
- #
- function deployParts() {
- unset CDPATH
- local PARTS="api, app, ui, web"
- while [[ $# -gt 0 ]] ; do
- arg="$1"
- case ${arg} in
- --parts)
- PARTS="${2}"
- shift ; shift
- ;;
- *)
- break
- ;;
- esac
- done
- PARTS=$(echo ${PARTS} | tr ',' ' ')
- for part in ${PARTS} ; do
- [ ! -d "${part}" ] && continue
- echo -e "\nDeploying ${PART} ..."
- local files=""
- for f in CONFIG/keys.json ${part}/CONFIG/keys.json ${part}/product.json pak.json ; do
- [ -f ${f} ] && files="${files} ${f}"
- done
- eval $(paks/assist/json2env ${files})
- cd "./${part}"
- if [ -f bin/deploy ] ; then
- bin/deploy $*
- elif [ -f gulpfile.ts -o gulpfile.js -o gulpfile.babel.js ] ; then
- gulp deploy $*
- elif [ -f main.me ] ; then
- me deploy
- elif [ -f Makefile ] ; then
- make deploy
- fi
- [ $? != 0 ] && exit 2
- cd ..
- done
- }
- deployParts $*
|