常用的触发器
Jenkins内置4种构建触发器
- 触发远程
- 构建其他工程构建后触发(Build after other projects are build)
- 定时构建(Build periodically)
- 轮询SCM(Poll SCM)
触发远程构建
1. 设置触发器
身份令牌最好是加密
2.浏览器执行
http://192.168.2.239:8080/job/webapp-pieline/build?token=66666
可以在Doshboard看到访问上述链接后触发了jenkins项目的构建
构建其他工程构建后触发
1. 创建pre_job流水线项目
2.配置触发器
3.手动构建pre_job项目
可以看到webapp-pieline项目自动构建了。
定时构建
表达式例子:
每30分钟构建一次:H代表形参H/30 * * * * 10:02 10:32
每2个小时构建一次:H H/2 * * *
每天的8点,12点,22点,一天构建3次: (多个时间点中间用逗号隔开)0 8,12,22 * * *
每天中午12点定时构建一次H 12 * * *
每天下午18点定时构建一次H 18 * * *
在每个小时的前半个小时内的每10分钟H(0-29)/10 * * * *
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)H H(9-16)/2 * * 1-5
轮询SCM
轮询SCM,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建。
注意:这次构建触发器,Jenkins会定时扫描本地整个项目的代码,增大系统的开销,不建议使用。
Git hook自动触发构建(*)
刚才我们看到在Jenkins的内置构建触发器中,轮询SCM可以实现Gitlab代码更新,项目自动构建,但是该方案的性能不佳。那有没有更好的方案呢?有的。就是利用Gitlab的webhook实现代码push到仓库,立即触发项目自动构建。
安装Gitlab Hook插件
需要安装两个插件:Gitlab Hook和GitLab
Jenkins设置自动构建
等会需要把生成的webhook URL配置到Gitlab中。
Gitlab配置webhook
- 开启webhook
- 在项目添加webhook点击项目->Settings->Integrations
注意:以下设置必须完成,否则会报错!Manage Jenkins->Configure System
测试webhook
IDEA修改代码,重新打包commit到Gitlab后会触发构建。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通