gti-pull.sh 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/bash
  2. tput setaf 3
  3. echo "PIC : Quel environnement souhaitez-vous pousser ?"
  4. select pic in r7 preprod "r7 & preprod" prod
  5. do
  6. case $pic in
  7. "r7")
  8. ENV="r7.cms.cse-invent.com"
  9. BRANCH="r7"
  10. ORIGIN="dev"
  11. ;;
  12. "preprod")
  13. ENV="pp.cms.cse-invent.com"
  14. BRANCH="preprod"
  15. ORIGIN="r7"
  16. ;;
  17. "r7 & preprod")
  18. MULTI_ENV=true
  19. ;;
  20. "prod")
  21. ENV="cms.cse-invent.com"
  22. BRANCH="master"
  23. ORIGIN="preprod"
  24. ;;
  25. *)
  26. tput setaf 1
  27. echo "Cette entrée n'existe pas"
  28. tput setaf 7
  29. break
  30. ;;
  31. esac
  32. if [ "$MULTI_ENV" = true ]; then
  33. for env in "r7.cms.cse-invent.com:r7:dev" "pp.cms.cse-invent.com:preprod:r7"; do
  34. IFS=':' read -r ENV BRANCH ORIGIN <<< "$env"
  35. tput setaf 2
  36. echo "Environnement : $ENV"
  37. tput setaf 7
  38. read -p "Voulez-vous pousser sur $ENV ? [y/n] " -n 1 -r
  39. echo
  40. if [[ $REPLY =~ ^[Yy]$ ]]; then
  41. cd /var/www || exit
  42. sudo chown -R debian:debian "$ENV/"
  43. cd "$ENV" || exit
  44. # Forcer l'URL du remote sur le dépôt unique
  45. git remote set-url origin git@git.cse-invent.com:product/cms.events.git
  46. git checkout "$BRANCH"
  47. git pull origin "$ORIGIN"
  48. git push
  49. cd ..
  50. sudo chown -R www-data:www-data "$ENV/"
  51. fi
  52. done
  53. else
  54. tput setaf 2
  55. echo "Environnement : $ENV"
  56. tput setaf 7
  57. read -p "Voulez-vous pousser sur l'environnement sélectionné ? [y/n] " -n 1 -r
  58. echo
  59. if [[ $REPLY =~ ^[Yy]$ ]]; then
  60. cd /var/www || exit
  61. sudo chown -R debian:debian "$ENV/"
  62. cd "$ENV" || exit
  63. # Forcer l'URL du remote sur le dépôt unique
  64. git remote set-url origin git@git.cse-invent.com:product/cms.events.git
  65. git checkout "$BRANCH"
  66. git pull origin "$ORIGIN"
  67. git push
  68. cd ..
  69. sudo chown -R www-data:www-data "$ENV/"
  70. fi
  71. fi
  72. break
  73. done
  74. tput setaf 7 # Reset color at the end of the script.