Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github 如何激发詹金斯建立一个项目?_Github_Build_Jenkins_Triggers_Webhooks - Fatal编程技术网

Github 如何激发詹金斯建立一个项目?

Github 如何激发詹金斯建立一个项目?,github,build,jenkins,triggers,webhooks,Github,Build,Jenkins,Triggers,Webhooks,每当github中的源代码更新时,我都有一个运行构建任务的任务。但是我对詹金斯很陌生,我很难做到这一点 我的理解 github.com将向我指定的特定URL发送POST消息。作为一个例子,让我们使用: http://mywebsite/src-updated 因此,源代码得到更新,github将POST消息发送到mywebsite/src updated。由于HTTP在端口80上运行,Apache收到此消息 ____________LAN____________ |

每当github中的源代码更新时,我都有一个运行构建任务的任务。但是我对詹金斯很陌生,我很难做到这一点

我的理解 github.com将向我指定的特定URL发送
POST
消息。作为一个例子,让我们使用:

http://mywebsite/src-updated
因此,源代码得到更新,github将
POST
消息发送到
mywebsite/src updated
。由于HTTP在端口80上运行,Apache收到此消息

 ____________LAN____________ 
|                           | 
| ..........   ..........   |  
| :JENKINS :   :APACHE  :   |     POST message to:                ..............
| :Listen  :   :Listen  :<--|<----http://mywebsite/src-updated--- : github.com :
| :on 8080 :   :on 80   :   |                                     :............:
| :........:   :........:   |     
|___________________________|
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
|                           | 
| ..........   ..........   |  
|:JENKINS::APACHE:|将消息发布到:。。。。。。。。。。。。。。
|:Listen::Listen:请检查如何使用Apache配置Jenkins。此外,我还在页面上找到了这张便条:

詹金斯在防火墙内:
如果您的Jenkins在防火墙内运行,并且无法从internet直接访问,此插件允许您在自动模式下指定任意端点URL作为覆盖。该插件将假定您已经设置了反向代理或其他方式,以便将来自GitHub的帖子路由到Jenkins

只要GitHub中的源代码更新,就运行构建而言,在Jenkins中配置非常简单。作业/项目的配置页面中存在轮询选项。转到作业的配置部分。搜索
生成触发器
部分。您将发现一个名为
轮询SCM
的复选框。启用此选项会告诉Jenkins在您指定的存储库(在本例中为GitHub)中发现更改后立即启动构建。您必须指定某个时间间隔,在此时间间隔之后,它将检查GitHub是否有更改:

比如说,

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
有关上述内容的更多选项和详细信息,请不要忘记查找帮助部分“

OTOH one如果已将Github项目配置为通知Jenkins webhook,则无需轮询更改。然后,只需在Jenkins中安装Github插件,并在作业配置中选中“Build when change is push to Github”复选框。这是对的@sti,它肯定是一种比我上面描述的更好(更高效)的方法。