NWNU-Sun | 技术沉思录

代码是诗,bug是谜

   ::  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  75 随笔 :: 49 文章 :: 6 评论 :: 40649 阅读

常用的触发器

Jenkins内置4种构建触发器

  • 触发远程
  • 构建其他工程构建后触发(Build after other projects are build)
  • 定时构建(Build periodically)
  • 轮询SCM(Poll SCM)

触发远程构建

1. 设置触发器

image-20211206102755734

身份令牌最好是加密

2.浏览器执行
http://192.168.2.239:8080/job/webapp-pieline/build?token=66666

可以在Doshboard看到访问上述链接后触发了jenkins项目的构建

构建其他工程构建后触发

1. 创建pre_job流水线项目

image-20211206103425302

2.配置触发器

image-20211206103510002

3.手动构建pre_job项目

image-20211206104324115

可以看到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,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建。

image-20211206105008346

注意:这次构建触发器,Jenkins会定时扫描本地整个项目的代码,增大系统的开销,不建议使用。

Git hook自动触发构建(*)

刚才我们看到在Jenkins的内置构建触发器中,轮询SCM可以实现Gitlab代码更新,项目自动构建,但是该方案的性能不佳。那有没有更好的方案呢?有的。就是利用Gitlab的webhook实现代码push到仓库,立即触发项目自动构建。

image-20211206105133286

安装Gitlab Hook插件

需要安装两个插件:Gitlab Hook和GitLab

Jenkins设置自动构建

image-20211206105404420

等会需要把生成的webhook URL配置到Gitlab中。

Gitlab配置webhook
  1. 开启webhook

image-20211206105535213

  1. 在项目添加webhook点击项目->Settings->Integrations

image-20211206105704358

注意:以下设置必须完成,否则会报错!Manage Jenkins->Configure System

image-20211206105843388

测试webhook

IDEA修改代码,重新打包commit到Gitlab后会触发构建。

posted on   匿名者nwnu  阅读(235)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示