我有一个Jenkins管道项目,我希望每次推送到托管代码的Gitlab存储库时都会触发构建 .
在Jenkins上我已经安装了Gitlab插件和Git插件,我已经通过添加Gitlab主机URL(https://gitlab.com)和之前在Gitlab上生成的Gitlab API令牌来配置Gitlab部分(管理Jenkins - >配置系统):如果我执行了测试连接,一切正常,如预期的那样 .
问题出在Gitlab上:我转到Settings - > Integrations,我尝试通过添加我在项目配置中找到的Jenkins项目URL来配置webhook(下面突出显示):
但是有一个问题:似乎不允许从Gitlab向localhost请求 .
似乎要避免这个问题是必要的,以激活一个选项(允许从钩子和服务请求到本地网络),但只有当我有自己管理的Gitlab服务器时,此选项才可用 . 相反,我的项目托管在gitlab.com上,因此无法修改此选项 .
在我的案例中,有任何解决方法或替代解决方案来配置webhook吗?
2 回答
如果您需要登录您的jenkins,可以试试这个webhook网址:
如果詹金斯正在运行
公司防火墙后面,
或在笔记本电脑上,
或在任何通过互联网的永久URL无法获得的机器上(更确切地说,来自您想要连接的gitlab实例)
很可能就是这种情况,那么你需要使用相反的方法:jenkins定期轮询git存储库 . 然后,您可以选择轮询发生的频率(以类似
cron
的方式) .这也是jenkins提供的标准方法,即这不需要gitlab插件,只需要正确的凭据 .
缺点是,它定期连接可能消耗一些数据的公共gitlab实例;但这可能是微不足道的 .