Jenkins常见问题问答录(一)

职场   科技   2024-05-08 13:34   广东  

由于领域特点,本号主题涉及IT、互联网、IT职场、知识管理、CPU、操作系统、编程语言等,尤其关注开源编程语言和国内信息自主生态及企业,如C#、ArtTS、OpenHarmony、龙芯、华为、团结引擎(Unity)等的发展。本号已有原创文章330+篇,欢迎关注和点击在看,了解行业知识和产品最新动态。


问题1:Jenkins和Docker怎么结合?

参考:Jenkins和Docker结合可以将容器作为Jenkins的slave节点,有很多优点。比如实现执行环境的统一,slave的自动创建和销毁,免去了人工维护环境的成本等。


问题2:写pipeline时,两个stage,第一个随机指定一台机器运行,第二个需要跟第一个在同一台机器上,有什么办法来做吗?

参考:设置全局agent,每个stage不单独指定agent即可。


问题3:项目在Windows和Linux上各编译一部分,然后把Windows上的产物合并到Linux上,如何处理?

参考:可以考虑编译机器固定,或者产物都放到一个固定存放机器,再拿回来。


问题4:Pipeline和Jenkins传统类型的任务比有什么优点?

参考:Pipeline一个是单个任务可以多节点,另外代码可以复用,比图形界面点击有效率。配置变成代码了,就可以进行版本化控制,便于管理。


问题5:启动Pipeline的时候,希望能够只检出Jenkinsfile文件。

参考:如果说有这种特殊需求,建议把Jenkinsfile单独放到一个git库里管理,不和应用源码放一起。


问题6:Blue Ocean和Jenkins是什么关系?

参考:通俗理解,Blue Ocean可以看作是Jenkins推出的新的UI界面,有更现代的外观和更好的交互。


        当然最重要的还是对Jenkins 2.x推出的新的流水线任务类型的支持,可以清晰展示整个流水线(Pipeline)各个阶段(stage)的串并行关系和状态

        Blue Ocean是以插件的形式实现的,只要在Jenkins插件中心安装“Blue Ocean”插件即可。安装之后在经典UI界面,点击左侧的“打开 Blue Ocean”来访问新界面。


问题7:在共享库里面写的stage,能不能显示在Blue Ocean的界面上?

参考:可以。


问题8:怎么看Jenkins上的Groovy版本?比如我登录服务器,可以执行groovy --version来看服务器安装的Groovy版本。

参考:可以在${JENKINS_HOME}/war/WEB-INF/lib目录下面找到groovy对应的jar包。jar包名称上可以看到版本号。


问题9:Jenkins pipeline在一个stage里面执行bat指令,里面set一个变量,有办法在下一个stagebat指令里获取这个变量的吗?通过groovy插值可以在bat里面获取groovy定义的变量,但能保存bat里面的变量到groovy吗?


参考:set定义的变量,本次bat命令结束生命周期就结束了,无法在下一个stage的bat命令里获取。就算是同一个stage,分开写2个bat命令,后一句也不能获取到前一句定义的变量值。这种情况,建议先将需要的信息写入到文件,再从文件中读取。如果两个stage在不同的节点上执行,中间再加一步归档文件的操作即可。


问题10:有没有python的库可以操作jenkins?

参考:有两个。一个叫python-jenkins,一个叫jenkinsapi。前者老一点,后者新一些。可以根据自己的爱好和功能需求选择合适的。还有一个jenkinsclient是整合了上述两个库开发的Jenkins命令行客户端,可以通过命令行方式操作Jenkins服务器,功能强大,支持多实例。

https://pypi.org/project/python-jenkins/https://pypi.org/project/jenkinsapi/https://pypi.org/project/jenkinsclient

研发效能
以DevOps为基石,洞察研发效能全貌,涵盖从需求管理到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容,共同助力DevOps的成功落地。
 最新文章