Chr*_*Orr 15
我们有一个类似的设置,我们有一个暴露于互联网的主机,从我们的各种git提供程序接收webhooks,必要时进行一些重写,然后在内部将钩子转发到Jenkins(或任何地方).
这是通过一个非常简单的nginx配置完成的:
# Allow *only* the notifyCommit endpoint, and don't expose any other info
location = /git/notifyCommit {
proxy_pass http://jenkins.int.example.com:8080/git/notifyCommit
proxy_hide_header X-Powered-By;
proxy_intercept_errors on;
error_page 500 /;
}
Run Code Online (Sandbox Code Playgroud)
location =语法的使用意味着只匹配那个确切的URL(加上查询参数).其他一切都会引发404错误.
或者,您可以尝试在公开的主机上运行git-webhook-proxy ; 它是我创建的一个网络服务器,它会拦截webhooks,然后在通过内部网络将webhook转发到Jenkins之前在本地缓存存储库.