手动构建
创建job后,通过点击build按钮,可以触发构建操作。

如果想实现自动构建,不需要人工触发,需要怎么操作呢?
有两种方式可以实现:代码仓库触发Jenkins构建、Jenkins定时轮询触发构建。
自动构建
代码仓库触发Jenkins构建
以gitlab代码仓库为例,可以在gitlab代码仓库中配置在什么情况下触发Jenkins的构建操作。

对Jenkins进行配置

对Jenkins进行配置,打开对应的 GitLab 触发器开关

通过以上配置,便可以实现代码在提交或者合并请求时,自动触发jenkins的构建操作。
Jenkins定时轮询触发构建
这种方式跟第一种方式最大的不同是,代码仓库中不配置,而是在Jenkins中配置。主要是有的代码管理仓库不方便配置,例如svn,svn的webhook就没有像gitlab那么灵活。这种情况下就可以采用Jenkins定时轮询去查svn代码仓库中的代码,有没有版本更新,如果有,则触发构建。

定时规则配置里面的表达式,名称叫:H 表达式
把需求告诉AI,然后让它写一下Jenkins的H表达式,就可以了,不用去记具体的规则。

这样配置之后,问题来了,Jenkins怎么知道代码仓库地址呢?它怎么知道去哪个代码仓库中看有没有新的代码版本呢?
查了一些资料,是这么说的:轮询的代码位置,是Jenkins的job中"源码管理"中配置的代码仓库地址(自由风格软件项目)。

或者是pipeline(流水线)中checkout步骤里面配置的仓库地址,如下图所示:


轮询时会检查这个位置的代码是否有更新,有更新就会触发构建。