Skip to content

Instantly share code, notes, and snippets.

@paulknulst
Last active October 27, 2021 05:46
Show Gist options
  • Save paulknulst/57b5de4a00162879c734e6886463a8f3 to your computer and use it in GitHub Desktop.
Save paulknulst/57b5de4a00162879c734e6886463a8f3 to your computer and use it in GitHub Desktop.
this update script is used to deploy several docker files.
#!/bin/bash
filepath=`pwd`
if [[ $filepath == *"test-suite/live-deploy" ]]; then
read -p "choose environment 'prod' or 'demo': " updateEnv
else
echo "it seems that you are in the wrong folder, pls got to test-suite/live-deploy"
exit 1
fi
if [[ $updateEnv == "prod" ]] || [[ $updateEnv == "demo" ]]; then
read -p "really update '$updateEnv', type 'yes': " confirm
fi
if [[ $confirm == "yes" ]]; then
echo "###########################################################################"
echo "######## #######"
echo "######## update is starting #######"
echo "######## #######"
echo "###########################################################################"
echo ""
echo ""
echo ""
else
echo "aborting update script"
exit 1
fi
echo "Pulling changes for $updateEnv-app"
cd $filepath/../sites/$updateEnv-app
git checkout master-$updateEnv
git pull origin master-$updateEnv
echo ""
echo ""
echo ""
echo "Pulling changes for $updateEnv-backend1"
cd $filepath/../sites/$updateEnv-backend1
git checkout master-$updateEnv
git pull origin master-$updateEnv
echo ""
echo ""
echo ""
echo "Pulling changes for $updateEnv-backend2"
cd $filepath/../sites/$updateEnv-backend2
git checkout master-$updateEnv
git pull origin master-$updateEnv
echo ""
echo ""
echo ""
echo "Pulling changes for $updateEnv-gateway"
cd $filepath/../sites/$updateEnv-gateway
git checkout master-$updateEnv
git pull origin master-$updateEnv
echo ""
echo ""
echo ""
echo "Pulling changes for $updateEnv-backend3"
cd $filepath/../sites/$updateEnv-backend3
git checkout master-$updateEnv
git pull origin master-$updateEnv
echo ""
echo ""
echo ""
echo "Pulling changes for $updateEnv-backend4"
cd $filepath/../sites/$updateEnv-backend4
git checkout master-$updateEnv
git pull origin master-$updateEnv
echo ""
echo ""
echo ""
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "######## #######"
echo "######## updates finished #######"
echo "######## #######"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo ""
echo ""
echo ""
read -p "projects are updated now, want to deploy? type 'yes': " deployConfirm
if [[ $deployConfirm == "yes" ]]; then
read -p "want to deploy backends, type 'yes':" backendConfirm
else
echo ""
echo ""
echo ""
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "######## #######"
echo "######## UPDATE SCRIPT FINISHED WITHOUT DEPLOYMENT! #######"
echo "######## #######"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
exit 1
fi
cd $filepath
if [[ $backendConfirm == "yes" ]]; then
echo "###########################################################################"
echo "######## #######"
echo "######## starting backend deployment #######"
echo "######## #######"
echo "###########################################################################"
echo ""
echo ""
echo ""
echo "deploying $updateEnv-gateway"
sudo docker-compose --file ../sites/$updateEnv-gateway/docker-compose.$updateEnv.yml up --build -d
echo "deploy finished"
echo ""
echo "deploying $updateEnv-backend1"
sudo docker-compose --file ../sites/$updateEnv-backend1/docker-compose.$updateEnv.yml up --build -d
echo "deploy finished"
echo ""
echo "deploying $updateEnv-backend2"
sudo docker-compose --file ../sites/$updateEnv-backend2/docker-compose.$updateEnv.yml up --build -d
echo "deploy finished"
echo ""
echo "deploying $updateEnv-backend3"
sudo docker-compose --file ../sites/$updateEnv-backend3/docker-compose.$updateEnv.yml up --build -d
echo "deploy finished"
echo ""
echo "deploying $updateEnv-backend4"
sudo docker-compose --file ../sites/$updateEnv-backend4/docker-compose.$updateEnv.yml up --build -d
echo "deploy finished"
echo ""
echo ""
echo ""
echo "###########################################################################"
echo "######## #######"
echo "######## backend deployment finished #######"
echo "######## #######"
echo "###########################################################################"
echo ""
echo ""
echo ""
else
echo ""
fi
read -p "want to deploy app, type 'yes': " appConfirm
if [[ $appConfirm == "yes" ]]; then
echo "###########################################################################"
echo "######## #######"
echo "######## starting app deployment #######"
echo "######## #######"
echo "###########################################################################"
echo ""
echo ""
echo ""
echo "deploying $updateEnv-app"
sudo docker-compose --file ../sites/$updateEnv-app/docker-compose.$updateEnv.yml up --build -d
echo ""
echo ""
echo ""
echo "###########################################################################"
echo "######## #######"
echo "######## app deployment finished #######"
echo "######## #######"
echo "###########################################################################"
echo ""
echo ""
echo ""
else
echo ""
fi
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "######## #######"
echo "######## UPDATE SCRIPT FINISHED WITHOUT ERRORS! #######"
echo "######## #######"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
echo "###########################################################################"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment