diff options
| author | Miquel Sabaté Solà <msabate@suse.com> | 2018-02-19 17:02:50 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <msabate@suse.com> | 2018-02-19 17:02:50 +0100 |
| commit | 77cd36c158624808e657e5dbb5ec8bc026fafa55 (patch) | |
| tree | 4141e83d8cd37e7403ebec66bd1f3dcf11a4b8c7 /script | |
| parent | 3c62a936378e490e99c2ac8955797464216b1691 (diff) | |
| download | jo.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')
| -rwxr-xr-x | script/build.sh | 35 | ||||
| -rw-r--r-- | script/post-receive | 43 |
2 files changed, 78 insertions, 0 deletions
diff --git a/script/build.sh b/script/build.sh new file mode 100755 index 0000000..7d24c09 --- /dev/null +++ b/script/build.sh @@ -0,0 +1,35 @@ +#!/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/>. + +set -ex + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" +pushd $DIR + +# The build source and destination directories. This is done this way so we +# can re-use this script when deploying. +: ${BUILD_SOURCE:=.} +: ${BUILD_DEST:=./_site} + +# Clean up previous build. +rm -rf $BUILD_DEST + +# Build && test. +bundle exec jekyll build -s $BUILD_SOURCE -d $BUILD_DEST +bundle exec rubocop +bundle exec rake + +echo "Jekyll has built your application in '$BUILD_DEST'" 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 |
