Webhook push不触发


#1

我用的是gogs+jenkins,触发条件选择的是push,可是当我使用客户端工具push时,web页面的钩子里会出现一条失败记录并且时间是1970-01-01 UTC,但使用web页面的push功能时就可以正常触发,使用客户端工具tag触发也可以成功,就是push无法成功。也看过其他朋友的问题 https://discuss.gogs.io/t/0-9-141-0-10-30-web/1005/23,nginx加了反向解析之后还是触发失败,以下是我的post-receive.log内容

2017/06/12 09:06:26 [ERROR] […its/gogs/cmd/hook.go:234 runHookPostReceive()] Fail to trigger task: Head http://0.0.0.0:80/hamster/gautu/tasks/trigger?branch=dev&secret=1f66e018382cde236773fefe48fd240a&pusher=1: dial tcp 0.0.0.0:80: getsockopt: connection refused
2017/06/12 09:06:26 [FATAL] […its/gogs/cmd/hook.go:249 runHookPostReceive()] Fail to execute custom post-receive hook: fork/exec /data/git/gogs-repositories/hamster/gautu.git/custom_hooks/post-receive: exec format error


#2

已经在另一个thread 回你了。。

你可以在这里把你的配置文件发一下


#3

upstream gogs {
server 172.17.0.4:3000;
}

server {
listen 80;
server_name gogs.xxx.com localhost;

if ( $host = ‘123.123.123.123’ ){
rewrite ^(.*) http://gogs.xxx.com/ permanent;
}

location / {
    proxy_next_upstream http_502 http_504 error timeout invalid_header;
    proxy_pass  http://gogs;
    proxy_http_version 1.1;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $http_x_forwarded_for;

    add_header Cache-Control no-cache;
}

}

这是我nginx的配置文件,localhost就是123.123.123.123。我之前发的post-receive.log是没有配反向解析的,配好之后的log在这里


#4

不太懂。。你新的log错误和旧版好像没有关系啊


#5

我有看到别人也有这个问题https://discuss.gogs.io/t/push-webhook/1189/4,跟我的问题非常相似,就没有什么解决的方法吗?


#6

还有你说的ssh -T后面跟什么参数?


#7

旧的报错0.0.0.0:80,在我设置了反向解析之后就没有了,现在只有新的报错,之前那个帖子的朋友说设置一下反向解析就好了,可我设置了还是没有用


#8

新的错误说的跟 webhook 不触发根本不是一回事。。你这是 invalid issue reference 啊


#9

post-receive.log里面只有这些内容,别的就没了。


#10

所以你现在到底遇到什么问题?


#11

不好意思是我表达不够清晰,我现在碰到的就是用客户端push不能触发,钩子这里会显示触发失败。web页面的push就可以触发。


#12

请问这是版本bug吗?


#13

Gogs 什么版本? 你能再 https://try.gogs.io 上重现吗?


#14

Gogs 当前版本: 0.11.19.0609
使用try.gogs.io重现了,看到版本是0.11.21,客户端push可以触发成功,但是我自己这边用容器装gogs0.11.19的就是触发失败,重新装了几遍还是不行,你们能用gogs镜像来重现吗


#15

我重新尝试了镜像版本,0.11.19 0.10.18 0.9.141都无法使用客户端push触发,只有在https://try.gogs.io上使用客户端push能触发成功,是bug吗?


#16

如果 try 上不能重现一般情况下都是配置问题。

webhook 就是靠 post-receive 来触发的,你客户端推送的完整输出发一下。


#17

我就用的是gogs镜像,docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs,这样安装的,别的也没有配什么东西,你告诉我还需要配什么吗?
下面是我使用git bash推送的输出


#18

你要的是这个输出吗,还是别的?


#19

我发现使用容器搭建gogs,就会出现webhook触发失败的情况,而直接在服务器上安装gogs就不会有这种情况


#20

我觉得这就说明。。是配置不正确。。