k8s-deploy.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/bin/bash -c
  2. app_names=("zookeeper" "kibana" "elasticsearch" "kafka" "kafka-manager" "logstash")
  3. envs=("qa" "pro")
  4. #当前目录
  5. DEPLOY_HOME=$(
  6. cd $(dirname $0)
  7. pwd
  8. )
  9. echo "----------------------------------"
  10. echo "选择要部署的应用:"
  11. echo "(0) zookeeper"
  12. echo "(1) kibana"
  13. echo "(2) elasticsearch"
  14. echo "(3) kafka"
  15. echo "(4) kafka-manager"
  16. echo "(5) logstash"
  17. echo "----------------------------------"
  18. while [ 1 ]; do
  19. read input1
  20. if ! [[ $input1 =~ ^[0-9](,[0-9])*$ ]]; then
  21. echo "请输入[0-5]之间的数字:"
  22. continue
  23. fi
  24. if [ $input1 -ge 0 -a $input1 -le 2 ]; then
  25. currApp=${app_names[$input1]}
  26. break
  27. else
  28. echo "请输入[0-5]之间的数字:"
  29. fi
  30. done
  31. echo "----------------------------------"
  32. echo "运行环境:"
  33. echo "(0) qa"
  34. echo "(1) pro"
  35. echo "----------------------------------"
  36. while [ 1 ]; do
  37. read input1
  38. if ! [[ $input1 =~ ^[0-9](,[0-9])*$ ]]; then
  39. echo "请输入[0-1]之间的数字:"
  40. continue
  41. fi
  42. if [ $input1 -ge 0 -o $input1 -lt 2 ]; then
  43. ENV=${envs[$input1]}
  44. break
  45. else
  46. echo "请输入[0-1]之间的数字:"
  47. fi
  48. done
  49. echo "----------------------------------"
  50. echo "最终要部署的应用${currApp}"
  51. echo "环境${ENV}"
  52. echo "----------------------------------"
  53. cd $DEPLOY_HOME || exit
  54. rm -rf .tmp && mkdir .tmp && cd .tmp || exit
  55. git config --global user.email "yangxg_yang@easou.cn"
  56. git config --global user.name "${USER}"
  57. git config --global credential.helper store
  58. git clone http://yangxg:yangtxy1256@gogs.ieasou.cn/yangxg/${currApp}.git ${currApp} && cd ${currApp} || exit
  59. cp -f ../../deploy-tmp-${currApp}.yaml deploy-tmp.yaml
  60. cp -f ../../drone.${currApp}.yml .drone.yml
  61. cp -f ../../Dockerfile-${currApp} Dockerfile
  62. sed 's/\[ENV\]/'$ENV'/g' deploy-tmp.yaml > deploy-tmp.yaml
  63. sed 's/\[ENV\]/'$ENV'/g' .drone.yml > .drone.yml
  64. sed 's/\[ENV\]/'$ENV'/g' Dockerfile > Dockerfile
  65. git add deploy-tmp.yaml
  66. git add .drone.yml
  67. git add Dockerfile
  68. echo "git commit"
  69. git commit --allow-empty -m "deploy $ENV/${currApp}:1.0"
  70. echo "git push"
  71. git push origin master
  72. cd $DEPLOY_HOME || exit
  73. rm -rf .tmp