gitlab 钩子post-receive脚本没有运行,谁知道怎么处理的吗?

发布于 2022-03-05 04:59:15 字数 586 浏览 864 评论 8

gitlab 钩子post-receive脚本没有运行,谁知道怎么处理的吗?

在项目下的hooks下的post-receive

#!/bin/bash
WEBROOT=/home/www/test
git --work-tree=$WEBROOT checkout -f master
chmod -R 777 $WEBROOT

git push 后

然而/home/www/test 下面的代码却没有更新

然后,改了下却本

#!/bin/bash

echo 11321>>test.log
WEBROOT=/home/www/test
git --work-tree=$WEBROOT checkout -f master
chmod -R 777 $WEBROOT

再git push

目录中也没有生成test.log,

故是git push后没有执行这个文件

手动执行一次 ./post-receive

发现有生成test.log,

然而/home/www/test 下面的代码有更新

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

凡尘雨 2022-03-11 05:55:37

看git版本,确认是否支持hooks

英雄似剑 2022-03-11 05:45:18

post-receive文件中改为

#!/bin/bash
WEBROOT=/home/www/test
git --work-tree=$WEBROOT checkout -f master
chmod -R 777 $WEBROOT
 

惜醉颜 2022-03-11 05:43:55

### 要先在本地提交一次才可以做同步,要不gitlab页面上看不到push

cd /var/opt/gitlab/git-data/repositories/root/test.git/   
有软链接的话,先删除(/opt/gitlab/embedded/service/gitlab-shell/hooks/post-receive)

mkdir hooks
cd hooks
ln -s /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive pre-receive
ln -s /opt/gitlab/embedded/service/gitlab-shell/hooks/update update
上传post-receive
chown git:git hooks
chmod 777 -R hooks

用key
ssh-keygen -t rsa -C "your_email@example.com"
或者从gitlab页面添加
添加到/var/opt/gitlab/.ssh/authorized_keys
不行再用绝对路径
然后git clone
git clone git@192.168.163.175:root/test.git
然后要
chmod 777 -R /home/www/
 

冷默言语 2022-03-11 05:36:01

已处下好

小情绪 2022-03-11 02:48:25

请问这个post-receive脚本放在哪里啊?是不是gitlab服务器上,找到指定的项目,然后进入.git/hooks目录下,放在里面?

我昨天找我们运维试了一下,不行,发现项目的.git下是有一个hooks目录,但是是一个软链,我把post-receive脚本放进去了,权限设置成777,不行,没效果。我的脚本就是一个exit 1,不让提交,结果我回到我电脑上操作,还是能提交。没有生效?

眼眸 2022-03-10 22:35:03

已处理好

悸初 2022-03-08 23:51:43

回复
我也像你这样 请问你是怎么处理的

偏爱自由 2022-03-05 09:03:58

同求

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文