-
-
Save ekofedriyanto/9f35f67780670fe19ccf64a9f3d4e5cf to your computer and use it in GitHub Desktop.
Revisions
-
geekforbrains created this gist
May 18, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,37 @@ #!/bin/bash REPO=NAME_HERE # Dir paths on remote server # These are associated with branches within a git project LIVE_BRANCH="master" LIVE="git@host:/var/www/live/" STAGE_BRANCH="develop" STAGE="git@host:/var/www/stage/" if ! [ -t 0 ]; then read -a ref fi # Get branch name from ref head IFS='/' read -ra REF <<< "${ref[2]}" branch="${REF[2]}" # Make tmp dir for extracting files and cleaning up .git (we dont want them on the live site) tmpdir="/tmp/$REPO/$branch" mkdir -p $tmpdir # Assuming git is installed at /home/git/... git --work-tree=$tmpdir --git-dir="/home/git/repositories/$REPO.git" checkout -f $branch # If pushing to LIVE_BRANCH, deploy on LIVE if [ "$LIVE_BRANCH" == "$branch" ]; then rsync -vzre ssh --delete "$tmpdir/" $LIVE fi # If pushing to STAGE_BRANCH, deploy on STAGE #if [ "$STAGE_BRANCH" == "$branch" ]; then #rsync -vzre ssh --delete "$tmpdir/" $STAGE #fi rm -rf "/tmp/$REPO"