代码改变世界

jenkins 常用插件和配置项介绍和使用

2018-03-19 17:29  加个小鸡腿  阅读(4107)  评论(0编辑  收藏  举报

 jenkins 上搜索不到的插件可以在如下地址下载:

http://updates.jenkins-ci.org/download/plugins/

1.Notification Plugin

介绍:消息反馈插件,可以向执行url接口返回构建进度:在队列中,正在构建,构建结果。

一般用来从外部触发jenkins时,向指定url返回构建,比如,同一个局域网的主机上的java程序自动触发了jenkins构建,使用该插件向该主机指定的接口反馈构建状态。

使用:主要的是红色框中的url配置,其它默认。

 

 扩展:根据该功能介绍,还可以使用命令向上面个红框指定接口中传其它参数,注意满足json格式,如下:

export NOTIFY_URL="http://*****Callback"

curl -H "Content-Type:application/json"  -X POST --data '{"dlinfo": [{"result_path": "'$recsdk_download'","version": "'$recsdk_version'","jid": "'$rs_jid'"}]}' $NOTIFY_URL

 其它参数根据自己的配置获取。

2.build name setter plugin

介绍:修改构建的默认名字,默认显示的都是#2,#3,#4....之类的,可自定义名字如#2_test,#3_$branch,$4_$tag,#241_master_allcas等,即搭配传入的参数定义名字。

使用:

 

不过该插件有一个不好的地方,就是只能用系统原有的环境变量来设置(如何查看jenkins默认的环境变量呢:http://$jenkins_host:8080/jenkins/env-vars.html/),比如我们想设置为跟user_name 相关,但是user_name 并不是系统默认的jenkins环境变量,这个问题,下面的一个插件可以实现。

3.user build var plugin

介绍:使用该插件可以获取jenkins的环境变量,如触发者,job num, user id,jenkins_url 等环境变量,具体有哪些环境变量可用,可以直接在jenkins上新建一个任务,"构建"的地方执行一个shell执行: export 

如下:

如上说到,这个插件也可以实现自定义构建名,配置如下:

4.配置项:在必要的时候并发构建

介绍:勾选此选项可以在同一个工程里同时并行多个构建,是通过在.jenkins/workspace下创建多个带@的相关工程名,比如test,test@2,test@3,test@4表示并发了五个进程。

使用:勾选改选项即可

效果:

 5.配置项:

介绍:针对主从方式,当存在多个slave节点的时候,某些构建任务需要在执行slave节点上执行,就是用该配置项设置的。

使用:比如,要将test工程下发到标签为centos-233的slave节点执行时,如下配置:

备注:如果有多个节点可以使用时,中间用|| 分割,比如主jenkins和centos-233 都可以执行该任务,可以为“centos-233 || master”,如下:

6.参数化构建过程

介绍:带参数构建,参数可以是多种类型的,下面介绍三种常用的使用

(6.1)string  parameter: 参数为字符串,

(6.2)choice parameter: 选项框,单选

(6.3)node:和

 7.Build periodically

定时触发.选择 Build periodically,在 Schedule 中填写 0 * * * ,代表的分别是:分钟(0~59) 小时(0~23) 天(1~31) 月(1~12) 周 (0-7,0和7表示周天);所以* * * 表示的就是每个小时的第 0 分钟执行一次构建。举个例子:每周六10点构建 0 10 * * 6,0-0分钟, 10-10点 -任意天 -任务月份 6-周六, 0可以改为H. 
8.Poll SCM

定时感知代码分支是否有变化,如果有变化的话,执行一次构建.示例:H/5 * * * * 每五分钟去检查一下远程仓库,看代码是否发生变化。

9.Throttle builds

设置两个build任务之间最小间隔和同一个时间内最大任务数量 ,但是时间间隔最小是一小时为单位的,也就是说能设置的是,一个小时内能并行多少个任务。

使用:一小时执行四个任务,那么如果同时触发了四个构建,那么这四个构建,每15分钟执行一个。

10.配置项:安静期

设置一个时间来间隔每次构建的间隔,也就是触发多个构建时,任务之间相隔多久执行。我个人觉得可以结合并行选项“在必要的时候并发构建”使用,任务之间会相互影响时,使用该设置来错过相互影响的时间点。

使用:我设置了30秒的安静期

点击“高级”打开。

效果:同时触发了五个构建,和上面一个配置项的效果一样,会把后面的多次触发当成一个执行,看上一个插件的日志,目前还不清楚为什么,待后续研究下,先在此处记录下。

 

11.cppcheck插件

https://blog.csdn.net/jiang1986829/article/details/51328830

 

12.jenkins配置详解之——执行者数量

jenkins上的执行者数量的设置并不是随意设置的,位置如下:

他是跟cpu核数密切相关的,原则上是不能超过cpu的核数的,

如何查看cpu的核数呢,命令如下:

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

 这个参数主要是针对“逻辑cpu的个数”,如果执行者数量超过cpu的核数,那么会出现cpu利用率100%导致服务挂掉的情况,

以我遇到的实际情况来说:我的逻辑cup个数才两个,但是我设置了执行者数量为5,并打开了jenkins的并发构建设置,然后,同时触发五个构建任务,接着我的服务挂了,登不上jenkins页面了,最后不得不重启服务。

 

13.jenkins 新增用户和修改用户名密码

在某些条件下,jenkins是不允许注册用户的,这是,你可以采用如下的方式来新增用户,对于老的用户,忘记密码了,使用如下方式来重置密码。

1.系统管理--》管理用户 ----》 新建用户

2.系统管理--》用户管理 找到对应用户右边的设置按钮,点击后,找到“密码”这里,输入新密码就可修改成功

 

14.jenkins 多选参数构建配置

参考:https://blog.csdn.net/e295166319/article/details/54017231

场景: 希望jenkins有复选按钮,可以选多个选项,比如可以选多个微服务编译部署

步骤:

【基本参考开始的链接就可以实现了。】

(1)安装插件“Extended Choice Parameter plugin”,如果再jenkins的可安装插件中找不到这个插件,就去http://updates.jenkins-ci.org/download/plugins/ 这里找

(2)然后配置jenkins:

  (2.1)参数化构建中选“Extended Choice Parameter”

 (2.2)配置参数名和复选框在界面显示的选项个数以及各个参数构建时使用什么字符来间隔,以及可选值value,value使用Delimiter设置的符号连接,如下,使用逗号间隔

 

 (2.3)设置默认值(我用不到,根据自己的情况选择)

 结果:可以上下翻动,一页显示了10个选择框,可以复选,复选后,点击构建后会发现将选择项按照a,b,c结构传参数。

 

15.