我有:-一个公共的github仓库-一个localhost:8080 jenkins -一个连接到github仓库的java maven项目-一个连接到github仓库的jenkins作业我可以随时触发手动构建,但我希望在每次提交时触发一个构建推送到github仓库。
hgqdbh6s1#
这里的问题是,您的本地主机Jenkins服务器(没有任何公共IP地址)位于防火墙和/或NAT之后,因此GitHub webhook无法发送到您的本地主机Jeninks服务器。为了让你的公共GitHub仓库与你的本地Jenkins服务器(在防火墙和NAT等之后)对话,你需要使用一个名为SocketXP的免费webhook代理服务。SocketXP帮助在公共GitHub和您的私有Jenkins服务器之间创建一个安全的webhook中继隧道,SocketXP将通过该隧道将webhook通知从公共GitHub代理到您的本地主机Jenkins。SocketXP将为您的Jenkins服务器创建一个唯一的公共URL,您可以稍后使用它来配置GitHub Webhook设置。以下是在Jenkins服务器上安装和运行SocketXP的3个简单步骤:
步骤1:
注册SocketXP免费帐户。获取专为您分配的唯一JWT认证令牌。
步骤2:
从here下载一个简单、轻量级的SocketXP代理,并将其安装在运行Jenkins的同一台本地主机上。请注意,您需要将其安装在运行Jenkins的主机上。使用步骤#1中的JWT auth token通过以下命令登录SocketXP代理:
$ socketxp login < your-auth-token >
第三步:
使用以下命令为您的本地主机Jenkins服务器获取一个唯一的公共URL。
$ socketxp relay https://localhost:8080/github-webhook/
Public URL -> https://webhook.socketxp.com/adfasdfae4123-webhook-relay
使用上面唯一的公共URL(仅为您的本地主机jenkins服务器创建)来配置您的GitHub webhook设置。
7xllpg7q2#
如果你想在修改推送到GitHub时开始构建,你需要配置Github的Webhook:前往GitHub存储库并单击设置。单击Webhooks & Services选项卡,然后单击Add service下拉列表。选择Jenkins(GitHub插件)服务。最后,你的Jenkins hook URL:
http://JENKINS.SERVER.IP.ADDRESS:8080/github-webhook/
因此,您需要一个公共IP地址或DNS来允许GitHub触发Jenkins构建。
ogq8wdun3#
在jenkins中的“Build Triggers”下有一个选项,您可以在其中勾选“Build when a change is pushed to GitHub”。这将轮询github仓库的任何更改。如果发现任何更改,将自动触发构建。
您也可以配置调度来轮询SCM。
3条答案
按热度按时间hgqdbh6s1#
这里的问题是,您的本地主机Jenkins服务器(没有任何公共IP地址)位于防火墙和/或NAT之后,因此GitHub webhook无法发送到您的本地主机Jeninks服务器。
为了让你的公共GitHub仓库与你的本地Jenkins服务器(在防火墙和NAT等之后)对话,你需要使用一个名为SocketXP的免费webhook代理服务。SocketXP帮助在公共GitHub和您的私有Jenkins服务器之间创建一个安全的webhook中继隧道,SocketXP将通过该隧道将webhook通知从公共GitHub代理到您的本地主机Jenkins。
SocketXP将为您的Jenkins服务器创建一个唯一的公共URL,您可以稍后使用它来配置GitHub Webhook设置。
以下是在Jenkins服务器上安装和运行SocketXP的3个简单步骤:
步骤1:
注册SocketXP免费帐户。获取专为您分配的唯一JWT认证令牌。
步骤2:
从here下载一个简单、轻量级的SocketXP代理,并将其安装在运行Jenkins的同一台本地主机上。请注意,您需要将其安装在运行Jenkins的主机上。
使用步骤#1中的JWT auth token通过以下命令登录SocketXP代理:
第三步:
使用以下命令为您的本地主机Jenkins服务器获取一个唯一的公共URL。
使用上面唯一的公共URL(仅为您的本地主机jenkins服务器创建)来配置您的GitHub webhook设置。
7xllpg7q2#
如果你想在修改推送到GitHub时开始构建,你需要配置Github的Webhook:前往GitHub存储库并单击设置。单击Webhooks & Services选项卡,然后单击Add service下拉列表。选择Jenkins(GitHub插件)服务。最后,你的Jenkins hook URL:
因此,您需要一个公共IP地址或DNS来允许GitHub触发Jenkins构建。
ogq8wdun3#
在jenkins中的“Build Triggers”下有一个选项,您可以在其中勾选“Build when a change is pushed to GitHub”。这将轮询github仓库的任何更改。如果发现任何更改,将自动触发构建。
您也可以配置调度来轮询SCM。