使用Gitlab进行Webhook配置

时间:2018-05-31 08:48:24

标签: git jenkins gitlab gitlab-ci

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

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

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

enter image description here

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

enter image description here

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

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

4 个答案:

答案 0 :(得分:8)

如果您需要登录到詹金斯家族,可以尝试以下webhook网址:

    <FrameLayout
    android:id="@+id/fragment_frame_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name=".Fragment_1"
        android:id="@+id/fragment"
        tools:layout="@layout/fragment_two" />
    </FrameLayout>

答案 1 :(得分:2)

如果jenkins正在运行

  • 公司防火墙后面,
  • 或在笔记本电脑上
  • 或在互联网上无法通过永久URL提供的任何计算机上(更确切地说,在您要连接的gitlab实例中)

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

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

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

答案 2 :(得分:0)

将localhost更改为您的计算机IP地址

示例:192.168.33.21(Windows计算机IP地址)

答案 3 :(得分:0)

对于本地实例:

在Gitlab>管理区域>网络>出站请求中:

选中“允许从钩子和服务到本地网络的请求”