GitLab PHP网站部署

Jam*_*mes 5 git deployment hook gitlab

我已经设置了GitLab并使用它来托管我的Git存储库.现在我要做的是设置一个post-receive钩子,这样我就可以在一个名为的文件夹中进行开发,site_dev然后推送我的更改,这样它们就会被自动拉入site文件夹.

整个上午我一直试图让这个钩子工作但是我没有运气在Ubuntu服务器上运行GitLab执行任何命令,我知道resque服务正在运行,我的工作人员是活跃的.

目前我有:

#!/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
Run Code Online (Sandbox Code Playgroud)

试图拉动我的变化.

我不确定我是否在这里做错了...所有文件夹都位于/var/www/同一台服务器上的同一位置.是的,我已经跑chmod +x了.

是的,我已经运行git init --barelive文件夹并将原点设置为Git存储库.我有点困惑,但这个钩子应该在哪里,live/dev文件夹?

Von*_*onC 2

对于GitLab使用的Gitolite,您必须将 post-receive hook 声明为 VREF(我在此处详细介绍)。

假设您.gitolite.rc包含一个LOCAL_CODE变量(请参阅此脚本),以便将 VREF 存储在您选择的目录中。

然后,您可以将该 VREF(这只是一个钩子可执行文件)关联到存储库中的一个或多个存储gitolite.confgitolite-admin。(手动,因为没有通过 GitLab 的接口)