Gitlab利用Webhook实现Push代码后的jenkins自动构建

简介:

之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台。通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布。这种方式每次在发版的时候,需要人工去执行jenkins上的构建动作,有时显得过于繁琐。于是就想到了Gitlab的Webhook功能,通过Webhook的相关设置,可以实现代码Push后,自动去触发jenkins上的构建动作,这样就不需要人工干预去执行发版操作了。设置如下:

1)Jenkins上的操作
通常,jenkins在项目配置时是可以配置远程构建触发器,设置好jenkins的回调url后就可以让jenkins进行自动构建。这就需要先下载Gitlab Hook Plugin 插件。登陆Jenkins,分别点击"系统管理"->"插件管理"->"可选插件",选择Gitlab Hook Plugin

然后构建相应的项目工程,比如下面的test-wx(下面最关键的是第2步中查看url,然后用这个url回调地址去Gitlab的webhook上添加)
a)先设置代码的git下载路径,这里通过ssh方式(需要提前将Jenkins本机的key添加到Gitlab上)

b)查看jenkin生成回调地址。在任务重构建触发器下获取回调URL。下面的URL那一行只有Gitlab Hook Plugin插件下载成功后才能显示。

c)然后设置代码发布的推送脚本

2)Gitlab上的操作
登陆Gitlab上的testwx3项目中,添加webhook(用上面Jenkins中生成的回调url)

然后点击这个项目的"Settings"

添加成功后,点击此webhook后面的test进行测试

如果返回Hook successfully executed.表示配置成功。
这样,下次push代码后,就会自动触发jenkins上相关的构建工程进行自动发布了!无需人工干预~

------------------------------------------------------------------------------------------------------
如上设置后,比如在gitlab的testwx3项目代码库中push一个test.txt文件,然后测试下是否自动发布了

然后去Jenkins上查看,如下发现已经自动发布了!

最后去目标机器192.168.1.19的/tmp/testwx目录下发现test.txt文件已经发布过来了~

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************

本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/6479813.html,如需转载请自行联系原作者
相关文章
|
存储 Java Linux
Jenkins+Gitlab+Docker(Dockerfile)部署
Jenkins+Gitlab+Docker(Dockerfile)部署
372 1
|
人工智能 物联网 大数据
阿里云ACP值不值得考?考试难不难?
最近很多人都来问小编阿里云认证的事情,他们想找一个能帮自己在职场上立足的好帮手,而阿里云可以说是不二选择。作为现在国内最具含金量的证书,其含金量和受认可程度是非常高的,越来越多的人都选择这个证书。
973 0
阿里云ACP值不值得考?考试难不难?
|
虚拟化 KVM Linux
带你读《KVM实战:原理、进阶与性能调优》之二:KVM原理简介
本书兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。
|
负载均衡 网络协议 应用服务中间件
高可用 - 04 Keepalived编译安装
高可用 - 04 Keepalived编译安装
697 0
高可用 - 04 Keepalived编译安装
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
343 0
|
jenkins Java 持续交付
Jenkins + Docker + Gitee自动化部署SpringBoot应用
阅读本篇文章需要你有Docker、Git、SpringBoot、Linux等基础知识。
1546 0
Jenkins + Docker + Gitee自动化部署SpringBoot应用
|
弹性计算 前端开发 JavaScript
前端新趋势?有了Web Component,还用纠结Vue或React?
Web Component 的概念最早在 2011 年被 Google 提出,并在 2018 年 V1 版本开始被主流浏览器所支持(除了 IE)。
|
前端开发 容器
前端——父容器根据子容器的高度自动变化高度(自适应)
前端——父容器根据子容器的高度自动变化高度(自适应)
|
运维 应用服务中间件 nginx
【运维杂谈】Nginx部署项目,上传文件报错413,如何解决?
【运维杂谈】Nginx部署项目,上传文件报错413,如何解决?
1131 0
|
缓存 Linux 应用服务中间件
CentOS 7手把手教你搭建GitLab(二)
CentOS 7手把手教你搭建GitLab
971 0
 CentOS 7手把手教你搭建GitLab(二)