extra scripts are now separated from main create script.
[git_shell.git] / gitbase / deploy.sh
diff --git a/gitbase/deploy.sh b/gitbase/deploy.sh
new file mode 100644 (file)
index 0000000..6ee3a17
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+# Directory where to deploy files from repository
+DPTARGET=""
+# Directory containing repository
+DPGIT_DIR="{{GITDIR}}/{{PROJECT}}.git"
+# Branch that is going to be deployed to server
+DPBRANCH="master"
+
+while read oldrev newrev ref
+do
+       # if DPTARGET is empty we don't want deploy for this project
+       if [[ ! "" == $DPTARGET ]]; then
+               # let's check that we are deploying to the correct branch
+               if [[ $ref = refs/heads/${DPBRANCH} ]]; then
+                       echo "Ref $ref received. Deploying ${DPBRANCH} branch to production..."
+                       git --work-tree=$DPTARGET --git-dir=$DPGIT_DIR checkout -f $DPBRANCH
+                       NOW=$(date +"%d%m%Y-%H%M")
+                       git tag release_$NOW $DPBRANCH
+                       echo "   /==============================="
+                       echo "   | DEPLOYMENT COMPLETED"
+                       echo "   | Target branch: $DPTARGET"
+                       echo "   | Target folder: $DPGIT_DIR"
+                       echo "   | Tag name     : release_$NOW"
+                       echo "   \=============================="
+               else
+                       echo "Ref $ref received. Doing nothing: only the ${DPBRANCH} branch may be deployed on this server."
+               fi
+       else
+               echo "Target directory not declared. Skipping deploy to server."
+       fi
+done