Blame salt/profile/jekyll/files/git_pull_and_update.sh
|
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 |
9e7ab8 |
# build all of the sites
|
|
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 |
9e7ab8 |
current_md5=$(md5sum "Gemfile.lock" | cut -d " " -f1)
|
|
Stasiek Michalski |
0a984c |
[[ $(cat Gemfile.lock.md5) != $current_md5 ]] && rm -rf vendor
|
|
Stasiek Michalski |
9e7ab8 |
bundle install --deployment || exit 1
|
|
Stasiek Michalski |
9e7ab8 |
[[ -f "update.sh" ]] && ./update.sh
|
|
Stasiek Michalski |
9e7ab8 |
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
|