1. #!/bin/bash
    2. echo -e "\033[31m请选择需要编译镜像的项目 \033[0m"
    3. select app in "coupons-app-api" "coupons-app-api-v2" "coupons-autoresponder" "coupons-h5-api" "coupons-mgmt-api" "coupons-order-api" "coupons-payment-api" "coupons-aws-product-spider" "sloth-gateway" "sloth-auth" "sloth-upms-biz" "sloth-monitor" "sloth-notify"; do
    4. break;
    5. done
    6. echo -e "\033[34m You have selected $app \033[0m"
    7. git pull && gradle ${app}:buildDocker -P push
    1. #!/bin/bash
    2. project=$1
    3. branch=$2
    4. tag=$3
    5. productDir=/home/beta/coupons
    6. function printProjects() {
    7. echo -e "\033[31m 项目路径: $productDir\033[0m"
    8. echo -e "\033[31m 项目列表如下: \033[0m"
    9. echo -e "\033[34m coupons-app-api \033[0m"
    10. echo -e "\033[34m coupons-app-api-v2 \033[0m"
    11. echo -e "\033[34m coupons-autoresponder \033[0m"
    12. echo -e "\033[34m coupons-h5-api \033[0m"
    13. echo -e "\033[34m coupons-mgmt-api \033[0m"
    14. echo -e "\033[34m coupons-order-api \033[0m"
    15. echo -e "\033[34m coupons-payment-api \033[0m"
    16. echo -e "\033[34m coupons-aws-product-spider \033[0m"
    17. echo -e "\033[34m sloth-gateway \033[0m"
    18. echo -e "\033[34m sloth-auth \033[0m"
    19. echo -e "\033[34m sloth-upms-biz \033[0m"
    20. echo -e "\033[34m sloth-monitor \033[0m"
    21. echo -e "\033[34m sloth-notify \033[0m"
    22. }
    23. function help() {
    24. echo -e "\033[34m 脚本指令格式为: $0 [productName] [branch] [imageTag] \033[0m"
    25. echo -e "\033[34m productName: 项目名称 \033[0m"
    26. echo -e "\033[34m branch: git 分支 \033[0m"
    27. echo -e "\033[34m imageTag: docker 镜像TAG \033[0m"
    28. echo -e "\033[34m 例如: $0 coupons-mgmt-api dev beta \033[0m"
    29. echo -e "\033[34m 执行指令为: cd ${productDir} && git checkout ${branch:-"dev"} && git pull && gradle ${project:-"coupons-mgmt-api"}:buildDocker -P push -P TAG=${tag:-"beta"}\033[0m"
    30. }
    31. function deploy() {
    32. echo -e "\033[34m 执行指令为: cd ${productDir} && git checkout ${branch:-"dev"} && git pull && gradle ${project}:buildDocker -P push -P TAG=${tag:-"beta"}\033[0m"
    33. cd ${productDir} && git checkout ${branch:-"dev"} && git pull && gradle ${project}:buildDocker -P push -P TAG=${tag}
    34. }
    35. if [[ ${project} == "ls" ]];then
    36. printProjects
    37. elif [[ ${project} == "help" ]];then
    38. help
    39. elif [[ -z ${project} ]];then
    40. help
    41. else
    42. deploy
    43. fi