Stasiek Michalski 6ff891
#!/bin/bash
Stasiek Michalski 6ff891
Stasiek Michalski 6ff891
# managed by salt - do not edit
Stasiek Michalski 6ff891
Stasiek Michalski 6ff891
BASEDIR=/home/web_jekyll/git
Stasiek Michalski 6ff891
DESTDIR=/home/web_jekyll/jekyll
Stasiek Michalski 6ff891
Stasiek Michalski 2291b6
SERVERS='{% for server in server_list %}
Stasiek Michalski 2291b6
    {{ server }}
Stasiek Michalski 2291b6
{%- endfor %}'
Stasiek Michalski 2291b6
Stasiek Michalski 6ff891
GIT_DIRS='{% for dir in git_dirs.keys() %}
Stasiek Michalski 6ff891
    {{ dir }}
Stasiek Michalski 6ff891
{%- endfor %}'
Stasiek Michalski 6ff891
Stasiek Michalski 6ff891
# update all git repos, exit if one of them fails (better outdated than inconsistent)
Stasiek Michalski 6ff891
cd "$BASEDIR" || exit 1
Stasiek Michalski 6ff891
for dir in $GIT_DIRS ; do
Stasiek Michalski 6ff891
    cd "$BASEDIR/$dir" && git pull -q || exit 1
Stasiek Michalski 6ff891
done
Stasiek Michalski 6ff891
Stasiek Michalski 6ff891
# sync to all servers
Stasiek Michalski 6ff891
cd $BASEDIR || exit 1
Stasiek Michalski 6ff891
for dir in $GIT_DIRS ; do
Stasiek Michalski 0a984c
    cd "$BASEDIR/$dir" || exit 1
Stasiek Michalski 0a984c
    current_md5=$(md5sum "Gemfile.lock")
Stasiek Michalski 0a984c
    [[ $(cat Gemfile.lock.md5) != $current_md5 ]] && rm -rf vendor
Stasiek Michalski 0a984c
    bundle install --deployment && bundle exec jekyll build -d "$DESTDIR/$dir/" && echo $current_md5 > Gemfile.lock.md5 || exit 1
Stasiek Michalski 6ff891
done
Stasiek Michalski 6ff891
Stasiek Michalski 6ff891
# sync to all servers
Stasiek Michalski 6ff891
cd $DESTDIR || exit 1
Stasiek Michalski 6ff891
for dir in *.opensuse.org ; do
Stasiek Michalski 2291b6
    for server in $SERVERS ; do
Stasiek Michalski 2291b6
        rsync -az --exclude '.git' --delete-after "$@" -e ssh "$DESTDIR/$dir/" "web_jekyll@$server:/srv/www/vhosts/$dir/"
Stasiek Michalski 2291b6
    done
Stasiek Michalski 6ff891
done
Stasiek Michalski 6ff891
Stasiek Michalski 6ff891
# vim: ts=4 expandtab