Created
September 6, 2010 07:55
-
-
Save icyleaf/566767 to your computer and use it in GitHub Desktop.
git autodeploy script when it matches the string "[deploy]"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# git autodeploy script when it matches the string "[deploy]" | |
# | |
# @author icyleaf <[email protected]> | |
# @link http://icyleaf.com | |
# @version 0.1 | |
# | |
# Usage: | |
# 1. put this into the post-receive hook file itself below | |
# 2. `chmod +x post-recive` | |
# 3. Done! | |
# Check the remote git repository whether it is bare | |
IS_BARE=$(git rev-parse --is-bare-repository) | |
if [ -z "$IS_BARE" ]; then | |
echo >&2 "fatal: post-receive: IS_NOT_BARE" | |
exit 1 | |
fi | |
# Get the latest commit subject | |
SUBJECT=$(git log -1 --pretty=format:"%s") | |
# Deploy the HEAD sources to publish | |
IS_PULL=$(echo "$SUBJECT" | grep "\[deploy\]") | |
if [ -z "$IS_PULL" ]; then | |
echo >&2 "tips: post-receive: IS_NOT_PULL" | |
exit 1 | |
fi | |
# Check the deploy dir whether it exists | |
DEPLOY_DIR=/home/icyleaf/php/icyleaf/ | |
if [ ! -d $DEPLOY_DIR ] ; then | |
echo >&2 "fatal: post-receive: DEPLOY_DIR_NOT_EXIST: \"$DEPLOY_DIR\"" | |
exit 1 | |
fi | |
# Check the deploy dir whether it is git repository | |
# | |
#IS_GIT=$(git rev-parse --git-dir 2>/dev/null) | |
#if [ -z "$IS_GIT" ]; then | |
# echo >&2 "fatal: post-receive: IS_NOT_GIT" | |
# exit 1 | |
#fi | |
# Goto the deploy dir and pull the latest sources | |
cd $DEPLOY_DIR | |
#env -i git reset --hard | |
env -i git pull |
@hezll 证书啊
有一事不明:
用SUBJECT=$(git log -1 --pretty=format:"%s")得到得不是裸库得log吗?因为在最后才执行得cd $DEPLOY_DIR到醒目目录,难道说使用裸库做得一次提交匹配[deploy]?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
请问用户名和密码如何解决