Skip to content

Instantly share code, notes, and snippets.

@silviud
Last active August 29, 2015 14:01
Show Gist options
  • Save silviud/e6dbff747d8fe7b6cc51 to your computer and use it in GitHub Desktop.
Save silviud/e6dbff747d8fe7b6cc51 to your computer and use it in GitHub Desktop.
Post receive git bash
#!/bin/bash
#
#
git config user.email "[email protected]"
git config user.name "Git Automatic Tagger"
while read oldrev newrev refname
do
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
version=`git show $newrev:metadata.rb |grep version`
ver=$(echo -n $version | sed -e s/version[[:blank:]]*//g | sed -e s/\"//g | sed -e s/\'//g)
echo $ver
git tag -a "$ver" -m "`git log -1 --format=%s`"
cd $(dirname "$0")/..
projectname=$(basename $(pwd) | sed -e s/\.git//g)
unset GIT_DIR
pushd "/home/cookbooks/$projectname"
/opt/gitlab/embedded/bin/git pull
popd "/home/cookbooks/$projectname"
echo "uploading to chef server"
echo "my id `id -u`"
NEW_VER=`/usr/bin/knife cookbook upload $projectname --config /var/opt/gitlab/.chef/knife.rb`
echo $NEW_VER
# working on master - optional
if [[ $refname =~ 'master' ]]; then
echo "working on master" $refname
fi
# http://www.janosgyerik.com/deploying-new-releases-using-git-and-the-post-receive-hook/
# cd LOCATION that tracks the repo
# list tags and versions
# get latest
# upload to chef server
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment