我需要帮助设置一个与localhost jenkins的github webhook

时间:2015-11-17 20:22:42

标签: git github jenkins localhost hook

我有:     - 一个公共github存储库     - 当地主持人:8080詹金斯     - 连接到github存储库的java maven项目     - 连接到github仓库的jenkins工作 我可以随时触发手动构建,但我希望在每个提交时触发一个构建,推送到github存储库。

3 个答案:

答案 0 :(得分:3)

如果要在将更改推送到GitHub时启动构建,则需要配置Github的Webhook: 转到GitHub仓库,然后单击“设置”。点击Webhooks& “服务”选项卡,然后是“添加服务”下拉列表。选择Jenkins(GitHub插件)服务。 最后,你的Jenkins钩子网址:

http://JENKINS.SERVER.IP.ADDRESS:8080/github-webhook/

因此,您需要一个公共IP地址或DNS来允许GitHub触发您的Jenkins构建。

答案 1 :(得分:1)

jenkins中有一个选项" Build Triggers"您可以在将更改推送到GitHub"时检查"构建。这将轮询github存储库以获取任何更改。如果发现任何更改,将自动触发构建。

Build Triggers

您也可以配置计划以轮询SCM。

答案 2 :(得分:0)

这里的问题是您的localhost Jenkins服务器(没有任何公共IP地址)位于防火墙和/或NAT之后,因此GitHub webhook无法传递到您的localhost Jeninks服务器。

为了使您的公共GitHub存储库与本地Jenkins服务器(在防火墙和NAT等之后)通信,您需要使用名为SocketXP的免费Webhook代理服务。 SocketXP有助于在公共GitHub和您的Private Jenkins服务器之间创建安全的Webhook中继隧道,SocketXP将通过该隧道将公共GitHub的Webhook通知代理到您的本地主机Jenkins。

SocketXP将为您的Jenkins服务器创建一个唯一的公共URL,您可以在以后用于配置GitHub Webhook设置。

以下是在Jenkins服务器上安装和运行SocketXP的三个简单步骤:

步骤1:

使用SocketXP注册一个免费帐户。获取为您分配的唯一JWT身份验证令牌。

步骤2

here下载一个简单,轻巧的SocketXP代理,并将其安装在运行Jenkins的同一台localhost计算机上。请注意,您需要在运行Jenkins的主机上安装它。

使用步骤1中的JWT身份验证令牌通过以下命令登录SocketXP代理:

$ socketxp login < your-auth-token > 

第3步:

使用以下命令为您的localhost Jenkins服务器获取唯一的公共URL。

$ socketxp relay https://localhost:8080/github-webhook/
Public URL ->  https://webhook.socketxp.com/adfasdfae4123-webhook-relay

使用上述唯一的公共URL (仅为您的localhost jenkins服务器创建)来配置GitHub webhook设置。

在此处了解更多信息how to setup GitHub Webhook with localhost Jenkins