Guest User

Untitled

a guest
Dec 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. function argIdx() {
  4. len=$(($#))
  5. arr=(${@:1:$len-1})
  6. arg=${@:$len:1}
  7. res=
  8.  
  9. for i in "${!arr[@]}"; do
  10. if [[ "${arr[$i]}" =~ $arg ]]; then
  11. res="${i}"
  12. break
  13. fi
  14. done
  15.  
  16. echo $res
  17. }
  18.  
  19. project=wsbmix
  20. cmdIdx=`argIdx "$@" "^[^-]"`
  21. opts=(${@:1:$cmdIdx})
  22. cmd=${@:$cmdIdx+1:1}
  23. cmdArgs=(${@:$cmdIdx+2:$#})
  24. cmdArgsLen=${#cmdArgs[@]}
  25.  
  26. # add "run" default options
  27. if [ $cmd == "run" ]; then
  28. # default to --rm option (remove container on stop)
  29. if [ `argIdx "$cmdArgs" "--no-rm"` ]; then
  30. cmdArgs=("${cmdArgs[@]/--no-rm}")
  31. else
  32. cmdArgs=("--rm" ${cmdArgs[@]})
  33. fi
  34.  
  35. # use service ports for default "run app"
  36. if [ $cmdArgsLen == 1 ]; then
  37. cmdArgs=("--service-ports" ${cmdArgs[@]})
  38. fi
  39. fi
  40.  
  41. # add tag ENV value
  42. tagIdx=`argIdx "${opts[@]}" "^-t"`
  43. if [ $tagIdx ];then
  44. tag=${opts[$tagIdx]:3}
  45. export WSB_APP_TAG=$tag
  46. opts=("${opts[@]/${opts[$tagIdx]}}")
  47. fi
  48.  
  49. echo "===docker-compose ${opts[@]} $cmd ${cmdArgs[@]}"
  50.  
  51. docker-compose \
  52. -p $project \
  53. -f docker/wsb.base.dockerc.yml -f docker/$project.dev.dockerc.yml ${opts[@]} \
  54. $cmd ${cmdArgs[@]}
Add Comment
Please, Sign In to add comment