aboutsummaryrefslogtreecommitdiff
path: root/script/post-receive
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2018-02-19 17:02:50 +0100
committerMiquel Sabaté Solà <msabate@suse.com>2018-02-19 17:02:50 +0100
commit77cd36c158624808e657e5dbb5ec8bc026fafa55 (patch)
tree4141e83d8cd37e7403ebec66bd1f3dcf11a4b8c7 /script/post-receive
parent3c62a936378e490e99c2ac8955797464216b1691 (diff)
downloadjo.mssola.com-77cd36c158624808e657e5dbb5ec8bc026fafa55.tar.gz
jo.mssola.com-77cd36c158624808e657e5dbb5ec8bc026fafa55.zip
Sorted out how to properly deploy
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to 'script/post-receive')
-rw-r--r--script/post-receive43
1 files changed, 43 insertions, 0 deletions
diff --git a/script/post-receive b/script/post-receive
new file mode 100644
index 0000000..3f4f8ee
--- /dev/null
+++ b/script/post-receive
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 Miquel Sabaté Solà <mikisabate@gmail.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+#
+# This script is based on the one from the documentation of Jekyll.
+#
+
+NAME=jo
+GIT_REPO=$HOME/$NAME.git
+TARGET_BRANCH=master
+
+# Exported so it's picked by the `script/build.sh` script.
+export BUILD_SOURCE=$HOME/tmp/$NAME
+export BUILD_DEST=/srv/$NAME/www
+
+while read oldrev newrev refname
+do
+ branch=$(git rev-parse --symbolic --abbrev-ref $refname)
+ if [ -n "$branch" ] && [ "$TARGET_BRANCH" == "$branch" ]; then
+ # Re-generate git repository in a temporary directory.
+ rm -Rf $TMP_GIT_CLONE
+ git clone $GIT_REPO $BUILD_SOURCE
+
+ # Build site
+ chmod +x $BUILD_SOURCE/script/build.sh
+ BUNDLE_GEMFILE=$BUILD_SOURCE/Gemfile bundle install
+ BUNDLE_GEMFILE=$BUILD_SOURCE/Gemfile $BUILD_SOURCE/script/build.sh
+ rm -Rf $BUILD_SOURCE
+ fi
+done