| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/bash
- tput setaf 3
- echo "PIC : Quel environnement souhaitez-vous pousser ?"
- select pic in r7 preprod "r7 & preprod" prod
- do
- case $pic in
- "r7")
- ENV="r7.cms.cse-invent.com"
- BRANCH="r7"
- ORIGIN="dev"
- ;;
- "preprod")
- ENV="pp.cms.cse-invent.com"
- BRANCH="preprod"
- ORIGIN="r7"
- ;;
- "r7 & preprod")
- MULTI_ENV=true
- ;;
- "prod")
- ENV="cms.cse-invent.com"
- BRANCH="master"
- ORIGIN="preprod"
- ;;
- *)
- tput setaf 1
- echo "Cette entrée n'existe pas"
- tput setaf 7
- break
- ;;
- esac
- if [ "$MULTI_ENV" = true ]; then
- for env in "r7.cms.cse-invent.com:r7:dev" "pp.cms.cse-invent.com:preprod:r7"; do
- IFS=':' read -r ENV BRANCH ORIGIN <<< "$env"
- tput setaf 2
- echo "Environnement : $ENV"
- tput setaf 7
- read -p "Voulez-vous pousser sur $ENV ? [y/n] " -n 1 -r
- echo
- if [[ $REPLY =~ ^[Yy]$ ]]; then
- cd /var/www || exit
- sudo chown -R debian:debian "$ENV/"
- cd "$ENV" || exit
- # Forcer l'URL du remote sur le dépôt unique
- git remote set-url origin git@git.cse-invent.com:product/cms.events.git
- git reset --hard || { echo "Échec du reset."; exit 1; }
- git checkout "$BRANCH"
- git pull origin "$ORIGIN"
- git push
- cd ..
- sudo chown -R www-data:www-data "$ENV/"
- fi
- done
- else
- tput setaf 2
- echo "Environnement : $ENV"
- tput setaf 7
- read -p "Voulez-vous pousser sur l'environnement sélectionné ? [y/n] " -n 1 -r
- echo
- if [[ $REPLY =~ ^[Yy]$ ]]; then
- cd /var/www || exit
- sudo chown -R debian:debian "$ENV/"
- cd "$ENV" || exit
- # Forcer l'URL du remote sur le dépôt unique
- git remote set-url origin git@git.cse-invent.com:product/cms.events.git
- git reset --hard || { echo "Échec du reset."; exit 1; }
- git checkout "$BRANCH"
- git pull origin "$ORIGIN"
- git push
- cd ..
- sudo chown -R www-data:www-data "$ENV/"
- fi
- fi
- break
- done
- tput setaf 7 # Reset color at the end of the script.
|