首页 文章

使用Gitlab进行Webhook配置

提问于
浏览
1

我有一个Jenkins管道项目,我希望每次推送到托管代码的Gitlab存储库时都会触发构建 .

在Jenkins上我已经安装了Gitlab插件和Git插件,我已经通过添加Gitlab主机URL(https://gitlab.com)和之前在Gitlab上生成的Gitlab API令牌来配置Gitlab部分(管理Jenkins - >配置系统):如果我执行了测试连接,一切正常,如预期的那样 .

问题出在Gitlab上:我转到Settings - > Integrations,我尝试通过添加我在项目配置中找到的Jenkins项目URL来配置webhook(下面突出显示):

enter image description here

但是有一个问题:似乎不允许从Gitlab向localhost请求 .

enter image description here

似乎要避免这个问题是必要的,以激活一个选项(允许从钩子和服务请求到本地网络),但只有当我有自己管理的Gitlab服务器时,此选项才可用 . 相反,我的项目托管在gitlab.com上,因此无法修改此选项 .

在我的案例中,有任何解决方法或替代解决方案来配置webhook吗?

2 回答

  • 8

    如果您需要登录您的jenkins,可以试试这个webhook网址:

    http://(jenkins-user):(jenkins-user-token)@(jenkins-url)/job/(job-name)/build?delay=0sec
    
  • 1

    如果詹金斯正在运行

    • 公司防火墙后面,

    • 或在笔记本电脑上,

    • 或在任何通过互联网的永久URL无法获得的机器上(更确切地说,来自您想要连接的gitlab实例)

    • 很可能就是这种情况,那么你需要使用相反的方法:jenkins定期轮询git存储库 . 然后,您可以选择轮询发生的频率(以类似 cron 的方式) .

    这也是jenkins提供的标准方法,即这不需要gitlab插件,只需要正确的凭据 .

    缺点是,它定期连接可能消耗一些数据的公共gitlab实例;但这可能是微不足道的 .

相关问题