我使用安装了 Jenkins交钥匙Linux Jenkins-VM,在具有本地私有 IP 地址的虚拟服务器环境(Virtualbox 中的 Windows 主机)中运行并在端口 80 上运行。开发团队和我都在远程,所以我们需要让 Jenkins 暴露在互联网上。根据 Turnkey-Linux 安装说明,Virtualbox 中的私有网络设置为桥接。此位置的路由器使用 NAT 将 WAN 接口上端口 8181 上的传入请求转换为端口 80 上的 Jenkins 本地 IP,仅适用于某些传入 IP。
在这种设置下,我能够从外部登录 Jenkins,更新 Jenkins,设置从托管在 Bitbucket 上的 SCM 中获取代码的作业,构建它,发送电子邮件,一切看起来都很棒!
我非常希望通过bitbucket 插件。我在 Jenkins 上安装了它,为我的工作配置了它,设置了 Bitbucket 以 POST 到 $CORPORATE_WEB:8181/bitbucket-hook,并且我们允许 Bitbucket IP 通过防火墙。我们在路由器上运行了数据包捕获,并看到来自 Bitbucket IP 地址的请求到达路由器端口 8181 上的 WAN 接口并被转发到 Jenkins 框。不幸的是,Jenkins 中什么也没发生:没有触发构建,Bitbucket 触发日志是空的!
我尝试手动转到 $CORPORATE_WEB:8181/bitbucket-hook 并获取这个问题,这对我来说是件好事?我们还尝试完全打开防火墙并触发 git push,但 Jenkins 中仍然没有任何反应。
我还能尝试什么来找出问题出在哪里?