I've setup GitLab and am using it to host my Git repositories. Now what I'm trying to do is setup a post-receive
hook so that I can develop in a folder called site_dev
then push my changes so they're automatically pulled into the site
folder.
All morning I've been trying to get this hook to work however I've not had any luck executing any commands with GitLab running on Ubuntu Server, I know that the resque
service is running and my workers are active.
Currently I have:
#!/bin/bash
LIVE="/var/www/teamnet"
# read oldrev newrev refname
# if [ $refname = "refs/heads/master" ]; then
echo "===== DEPLOYING TO LIVE SITE ====="
cd $LIVE || exit
unset GIT_DIR
git pull
echo "===== DONE ====="
# fi
Attempting to pull my changes.
I'm not sure whether I've done something wrong here... All folders are in the same location /var/www/
on the same server. And yes, I have ran chmod +x
on the hook.
Yes, I've ran git init --bare
for the live folder and set the origin to the Git repository. I'm a little confused however as to where this hook should live, the live/dev folder?
With Gitolite, which is used by GitLab, you must declare your post-receive hook as VREF (that I detail here).
That supposes that your .gitolite.rc
contains a LOCAL_CODE
variable (see this script) in order to store your VREFs in a directory of your choice.
Then you can associate that VREF (which is just an hook executable) to one or many repo in the gitolite.conf
of the gitolite-admin
repo. (manually, since there is no interface for that through GitLab)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With