streaming-website/deploy.sh

66 lines
1.7 KiB
Bash
Raw Normal View History

2016-11-24 20:30:43 +00:00
#!/bin/bash
2016-10-12 07:35:01 +00:00
for cmd in find xargs php git; do
command -v $cmd >/dev/null 2>&1 || { echo >&2 "I require $cmd but it's not installed. Aborting."; exit 1; }
done
2016-11-15 15:59:52 +00:00
2016-10-12 07:35:01 +00:00
find . -name "*.php" -print0 | xargs -0 -n1 php -l
if [ $? -ne 0 ]; then
echo "not deploying b0rken code ;)"
exit 1
fi
echo ""
DEPLOY_BRANCH=`git rev-parse --abbrev-ref HEAD`
if [ "x$DEPLOY_BRANCH" != "xmaster" ]; then
echo "You're currently on branch $DEPLOY_BRANCH."
echo "Are you sure you want to deoloy that branch (and not master)? then type yes"
read -p "" input
if [ "x$input" != "xyes" ]; then
exit 2
fi
fi
2016-12-20 21:30:58 +00:00
if [ `git rev-parse --verify origin/$DEPLOY_BRANCH` != `git rev-parse --verify $DEPLOY_BRANCH` ]; then
echo "You have commits on the master branch not pushed to origin yet. They would not be deployed."
echo "do you still which to deploy what's already in the repo? then type yes"
read -p "" input
if [ "x$input" != "xyes" ]; then
exit 2
fi
fi
2016-11-24 20:30:43 +00:00
if ! (git diff --exit-code >/dev/null || git diff --cached --exit-code >/dev/null); then
2016-12-20 21:30:58 +00:00
echo "You have uncomitted changes. They would not be deployed."
echo "do you still which to deploy what's already in the repo? then type yes"
read -p "" input
if [ "x$input" != "xyes" ]; then
exit 2
fi
fi
2016-12-24 16:32:25 +00:00
for host in lb.dus.c3voc.de lb.alb.c3voc.de; do
echo "deploying to $host"
ssh -A voc@$host 'sudo sh' << EOT
2016-10-01 16:06:44 +00:00
cd /srv/nginx/streaming-website
2016-12-28 16:36:05 +00:00
echo "updating code"
2016-10-01 16:06:44 +00:00
git fetch origin
git reset --hard HEAD
git checkout $DEPLOY_BRANCH
git reset --hard origin/$DEPLOY_BRANCH
2016-12-28 16:36:05 +00:00
echo "fixing permissions"
2016-10-01 16:06:44 +00:00
chown -R voc:staff .
chown -R downloader configs
2016-12-28 16:36:05 +00:00
echo "re-downloading schedules"
sudo -udownloader php index.php download
echo "clearing cache"
2016-10-12 07:31:23 +00:00
./clear_cache
2016-10-01 16:06:44 +00:00
EOT
2016-12-24 16:32:25 +00:00
echo "deploying to $host done"
done