Jenkins常见问题集锦(七)


问题31:有多个环境相同的节点,希望能够实现自动将任务分配到空闲节点上,能实现么?

参考:只需要将这些环境相同的节点配置同样的标签即可,任务指定这个标签作为运行节点,Jenkins就会自动选择空闲节点来执行任务。 Jenkins中的标签有分类、分组的意思,就像微信通讯录里的标签功能一样。不过设计的不太明显,不知道的话容易将其理解为唯一id来用。

问题32:Jenkins如何对接各种静态检查工具?

参考:这个问题比较大,后面会写专门的文章来介绍。

问题33:Jenkins Pipeline除了把图形界面点击变成了代码书写,还有什么优势,怎么更深刻地理解?

参考:鼠标点击变成代码书写是一个方面,看起来就是把之前的图形界面填参变成了自己写代码调用。 这是一个方面,而且因为这些功能转换成代码后,关键字很简单、易懂,就可以书写很少的几行代码来实现同样的功能。 还有一点是实现单个任务多节点运行,这个大家应该都在用,并且习以为常,都不觉得是个Pipeline独有的功能了! 另外很重要的两大点,大家往往忽略。 一个是可以自己编写共享库,实现代码的复用,也就是说一段很长的逻辑,把它封装到共享库里实现,调用的时候又变成简单的一句命令了; 另一个是Pipeline支持很多原生的步骤,这些步骤是跨平台的,可以直接在Pipeline中实现, 比如解压缩,读取、存储文本文件、json文件,判断节点是否为Unix环境,发送HTTP请求等等。这些都可以使用纯Pipeline脚本来调用, 原生、跨平台,原生、跨平台,原生、跨平台,重要的事情说三遍! 要是以前,可能就要写一份Windows bat批处理,一份Linux sh脚本来自己实现了!

问题34:Jenkinsfile怎么管理比较好?

参考:比较规范的方式是随源码存放,放在源码仓库的根目录,就像pom.xml放在源码仓库根目录一样。 有时根据生产实际情况,也可以放到独立的仓库管理,单库或者多库都可以。没有特殊需求的话,建议随源码存放。

问题20:升级Jenkins,怎么选择版本?

参考:Jenkins有两条发行线,一个是长期支持版本,一个是每周迭代版本。长期支持版本是每12周(接近3个月,一个季度)更新一次;每周迭代版本,如其名,每周更新一次。建议生产环境(企业、组织)等,使用长期支持版本;个人使用或学习可以追新,使用每周迭代版本来了解最新的错误修复和功能更新。长期支持版本约一个季度更新一次,可根据需要看是否升级生产环境。

本文同步发布在微信公众号“DevOps持续交付”上,公众号ID:devopscd,欢迎关注。


 关注微信公众号

DevOps持续交付公众号ID:devopscd