构建触发器: 用于触发jenkins自动构建
定时构建(Build periodically) 此时的定时构建是时间到达日程表所设置的时间后,就开始构建。此时不管前面源码管理处设置的分支是上的内容是否有变化都会开始构建。
例如:在日程表的白框里填写H/30 * * * *,表示每隔30分钟构建一次。轮循 SCM (Poll SCM) 这个也是定时构建,但不同的是在达到所设置的时间后,系统会去查询设置的远程仓库是否有变化,有变化才构建。 例如:在日程表的
白框里填写H/30* * * *,表示每隔30分钟就检测一下
远程仓库是否有变化,有变化就开始构建,没有变化则不构建。Push事件触发 每当有人向GitLab仓库某分支(一般为master)成功的push代码时,立即触发构建。 选择"Build when a change is pushed to GitLab"这个选项。
远程触发构建 通过预定义的URL(方便脚本)来触发构建。 前提:开启匿名用户的读权限(系统管理 - 全局安全配置 - 授权策略 - 匿名用户具有可读权限)
PUSH触发构建
- 安装GitLab插件
- 安装好后在项目配置中找到构建触发器,可以看到增加了一个触发器
3.钩选进入配置
设置需要跟踪变化的分支,根据上面的选项配置,可以是允许全部分支的变化触发构建,也可以设置只是具体的某些分支触发,这里示例是允许master分支上的变化触发构建
4.生成token:点击generate,会生成一个token
5.要想Gitlab上仓库有push事件发生时触发构建,还需要进一步的设置:
1).登录管理员帐号(root), 设置允许请求钩子:
扳手 - 设置 - 网络设置 - 外发请求
2).在Gitlab上找到要自动构建的项目,点击左侧边栏的 Settings -> Integrations
然后点击 add webhook按钮保存,这样,有人成功push代码到了项目的master分支就会触发jenkins自动构建
远程触发构建
Jenkins 支持通过远程访问一个指定的 URL 来触发构建
-
开启匿名用户读权限
开启方法:系统管理 - 全局安全配置 - 授权策略 - 匿名用户具有可读权限
-
在构建触发器页面钩选远程触发构建(Trigger builds remotely)并设置一个 Token
-
通过访问指定 URL 来触发构建
两种情况的URL不同
非参数化构建:JENKINS_URL/job/JOB_NAME/build?token=TOKEN
参数化构建:JENKINS_URL/job/JOB_NAME/buildWithParameters?token=TOKEN&ARG_NAME=VALUE
如:
# curl http://192.168.10.50:8080/job/esay-spring/build?token=qfedu666
# curl 'http://192.168.10.50:8080/job/esay-spring-arg/buildWithParameters?token=qfedu666&tag=v1.04'
参数化构建
将参数传递给脚本,实现定制化的任务
参数名称 =》变量名称
布尔值参数: 勾上默认值则为true,否则为false
选项参数:每行为一个选项,第一行为默认选择的值
文本参数:可定义默认值,当用户有输入时则值为用户输入的值,否则为默认值
可安装Extended Choice Parameter 和 Git Parameter 插件,更灵活的定制参数
参数类型:

hidden:隐藏,设置默认值,不会显示出来
定义值:
方式一
方式二
定义默认值
使用tag进行版本管理
安装 Git Parameter 插件
- 给代码打上标签,并推送到 gitlab
[root@gitlab easy-spring]# git tag v1.01 [root@gitlab easy-spring]#
git push origin v1.01 Total 0 (delta 0), reused 0 (delta 0) To
git@192.168.10.51:qfedu/easy-spring.git * [new tag] v1.01 ->
v1.01
-
配置参数化构建
创建一个自由风格的项目
配置项目
参数化构建
源码管理
构建分支指定用tag
构建
构建后 - 和之前一样
-
利用 tag 参数进行构建