Skip to content

Instantly share code, notes, and snippets.

@sumitdhameja
Created February 27, 2016 16:15
Show Gist options
  • Save sumitdhameja/823546628ad4f466e25d to your computer and use it in GitHub Desktop.
Save sumitdhameja/823546628ad4f466e25d to your computer and use it in GitHub Desktop.
Deploy to Multiple Servers
#!/bin/bash
# Download Artifact and Extract
_CLUSTER=$1
BUILD_VERSION=$2
BUILD_ENV="$3"
_DROPFOLDER="/data/edgex/builds/"
_FILENAME="${BUILD_VERSION}.zip"
echo "${_CLUSTER}"
for SERVER in ${_CLUSTER}; do
echo "[-] SERVER: ${SERVER}"
if ssh -q root@$SERVER "[[ -f ${_DROPFOLDER}/${_FILENAME} ]]"; then
echo "File Exists:${_DROPFOLDER}/${_FILENAME}"
exit 1
fi
echo "[-] Create Folder: ${_DROPFOLDER}"
ssh root@$SERVER "mkdir -p ${_DROPFOLDER}"
echo "[-] Download File: ${_FILENAME}"
scp ~/files/edgex/${_FILENAME} root@$SERVER:${_DROPFOLDER}
echo "[-] Extract File: ${_FILENAME} to ./temp"
ssh root@$SERVER "rm -R ${_DROPFOLDER}/temp; cd ${_DROPFOLDER}; unzip ${_FILENAME} -d ${_DROPFOLDER}/temp &> /dev/null"
echo "[-] Copy Deploy.sh"
ssh root@$SERVER "cp ${_DROPFOLDER}/temp/$BUILD_VERSION/sync.graph.bluecava.com_sh/deploy/deploy.sh ${_DROPFOLDER}/deploy.sh && sed -i 's/\r//g' ${_DROPFOLDER}deploy.sh"
echo "[-] Begin Deployment Process"
ssh root@$SERVER "cd ${_DROPFOLDER} && source deploy.sh ${BUILD_VERSION} ${BUILD_ENV}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment