gti-pull.sh 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 reset --hard || { echo "Échec du reset."; exit 1; }
  47. git checkout "$BRANCH"
  48. git pull origin "$ORIGIN"
  49. git push
  50. cd ..
  51. sudo chown -R www-data:www-data "$ENV/"
  52. fi
  53. done
  54. else
  55. tput setaf 2
  56. echo "Environnement : $ENV"
  57. tput setaf 7
  58. read -p "Voulez-vous pousser sur l'environnement sélectionné ? [y/n] " -n 1 -r
  59. echo
  60. if [[ $REPLY =~ ^[Yy]$ ]]; then
  61. cd /var/www || exit
  62. sudo chown -R debian:debian "$ENV/"
  63. cd "$ENV" || exit
  64. # Forcer l'URL du remote sur le dépôt unique
  65. git remote set-url origin git@git.cse-invent.com:product/cms.events.git
  66. git reset --hard || { echo "Échec du reset."; exit 1; }
  67. git checkout "$BRANCH"
  68. git pull origin "$ORIGIN"
  69. git push
  70. cd ..
  71. sudo chown -R www-data:www-data "$ENV/"
  72. fi
  73. fi
  74. break
  75. done
  76. tput setaf 7 # Reset color at the end of the script.