Jenkins自动化部署(四)GitHub自动触发-webhook

        上一篇文章在Jenkins中构建了一个流水线任务,能正常的自动拉取代码然后打包发布了,可是还需要手动去点击构建,这当然不是我想要的,我需要的是在代码提交到GitHub的Master分支后Jenkins就能自动开始发布流程。

        还记得上一篇文章中配置流水线语法那个地方吗:

Jenkins自动化部署(四)GitHub自动触发-webhook_第1张图片

 接下来我们就继续去配置如何让GitHub自动触发Jenkins:

只需两步,先在GitHub上配置一个设置项,然后在Jenkins中配置一个设置项。

1.登录到GitHub,在我的源代码项目中找到如下图所示:

Jenkins自动化部署(四)GitHub自动触发-webhook_第2张图片

 Jenkins自动化部署(四)GitHub自动触发-webhook_第3张图片

http://xxx.xxx.xxx.xxx:8000/github-webhook/ ​

该地址就是Jenkins的访问地址,后面跟的“github-webhook”是什么意思现在我还没搞懂,暂且理解为不同源代码管理会跟一个不同的参数吧。

2.在Jenkins中开起轮询来监听GitHub的请求

        进入我们之前构建的流水线任务,然后入下图点击配置:

Jenkins自动化部署(四)GitHub自动触发-webhook_第4张图片

 Jenkins自动化部署(四)GitHub自动触发-webhook_第5张图片

此时就完成了。

然后就可以去编辑一下源代码代码,然后提交到master分支上,看是否能正常触发,当然触发有一定的延迟,我的几十秒就开始动起来了。

如果需要检查GitHub是否有正常去访问Jenkins,在GitHub的webhooks上面可以查看记录:

Jenkins自动化部署(四)GitHub自动触发-webhook_第6张图片

 Jenkins自动化部署(四)GitHub自动触发-webhook_第7张图片

 Jenkins自动化部署(四)GitHub自动触发-webhook_第8张图片

 如果这里正常,但是Jenkins上却没有反映,说实话我实践的时候还没遇到,但是也许实践过程中会遇到,那么先多提交几次代码试试,或者检查各个配置是否正确。

最后分享一点心得:

1.我用的是GitHub,其他源代码管理应该也是会有这个类似的功能的。

2.也许是我服务器配置太差,容器启的太多,2核4G的内存,8M宽带,启动了的容器有8个,最终在Jenkins自动发布时当机过两次。

3.Jenkins自动发布时无缘无故失败也有好几次,只需要重新提交代码让他自动构建,或者手动去点击自动构建多试两次又能成功,感觉不稳定。

4.在我的这一套Jenkins自动发布下,Jenkins在操作的时候不知道为什么会给我自动启动一个容器,好像是Docker打包镜像时自动启的测试容器,在完成后会自动删除,但是我几次当机后这个容器没能自动删除,只能我手动去删除了。当机我怀疑是Docker打包镜像时占用资源多,我这个服务器启动太多容器了负荷不起。

你可能感兴趣的:(Jenkins自动化部署,github,jenkins)