首页>系统/运维> 进大厂必须掌握的53个Jenkins面试题
进大厂必须掌握的53个Jenkins面试题
- 分类:系统/运维
- 时间:2022-05-12
- 阅读:6758
简介:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
一、初级
1、Jenkins和Bamboo有什么区别?
2、Jenkins是什么?
3、定义Jenkins的过程。
提交后不久,Jenkins服务器检测到源代码存储库中发生的更改。Jenkins将撤消这些更改,并将开始准备新版本。
如果构建失败,则将通知相关团队。
如果构建成功,则Jenkins将构建部署到测试服务器中。
在测试之后,Jenkins生成反馈,然后将有关构建和测试结果的信息通知开发人员。
它将继续检查源代码存储库中是否对源代码进行了更改,并且整个过程不断重复。
4、使用Jenkins有什么好处?
对于源代码中的每个更改,您都会生成一个自动生成报告通知。
为了通知开发人员构建报告的成功或失败,Jenkins与LDAP邮件服务器集成。
实现持续集成的敏捷开发和测试驱动的开发。
通过简单的步骤,您可以使Maven发布项目自动化。
在开发环境中比生产阶段更容易在早期阶段跟踪错误。
5、使用Jenkins的前提条件是什么?
一个有效的构建脚本(例如Maven脚本)签入到存储库中。
6、Hudson和Jenkins之间是什么关系?
7、在Jenkins中提及一些有用的插件
Maven 2 project Git Amazon EC2 HTML publisher Copy artifact Join Green Balls

我觉得这些插件是最有用的插件,如果您想包括上面未提到的任何其他插件,也可以添加它们,但请确保先提及上述插件,然后再添加自己的插件。
8、您如何安装Jenkins?
要安装Jenkins,您只需执行以下五个步骤:
(1)安装Java版本8 – Jenkins是基于Java的应用程序,因此必须使用Java。 (2)安装Apache Tomcat版本9 – Tomcat对于部署Jenkins war文件至关重要。 (3)下载Jenkins war文件–必须安装Jenkins进行此战争。 (4)部署Jenkins war文件–您可以使用Tomcat部署Jenkins war文件来运行Jenkins。 (5)安装建议的插件–安装Jenkins建议的插件列表。
安装完成后,您将能够看到Jenkins仪表板。
9、可以与Jenkins集成的两个组件是什么?
构建像Apache Maven这样的工具。
10、什么是Maven?将Maven与Jenkins集成有什么好处?
11、提及可以用来手动启动Jenkins的命令是什么。
12、Jenkins支持哪些SCM工具?
AccuRev CVS Subversion Git Mercurial Perforce Clearcase RTC
13、您将如何在Jenkins中定义Post?
14、Jenkins中的参数是什么?
15、什么是Groovy?
二、中级问题
16、您如何通过Jenkins克隆Git存储库?
17、说明如何设置Jenkins工作。
转到Jenkins主页,选择“新建作业”,然后选择“构建自由样式的软件项目”。
现在,您可以说出此自由式作业的元素:
源代码所在的可选SCM,例如CVS或Subversion。 可选触发器,用于控制Jenkins何时执行构建。 某种执行实际工作的构建脚本(ant,maven,shell脚本,批处理文件等)。 从构建中收集信息的可选步骤,例如,归档工件和/或记录javadoc和测试结果。 通知其他人员/系统构建结果的可选步骤,例如发送电子邮件,IM,更新问题跟踪器等。
18、如何在Jenkins中创建备份和复制文件?
要创建备份,您需要做的就是定期备份Jenkins_HOME目录。这包含所有构建作业配置,从属节点配置以及构建历史记录。要创建您的Jenkins设置的备份,只需复制此目录。您还可以复制作业目录以克隆或复制作业或重命名目录。
19、您将如何保护Jenkins?
确保全局安全性已启用。 使用适当的插件检查Jenkins是否已与我公司的用户目录集成。 确保已启用矩阵/项目矩阵以微调访问。 使用自定义版本控制脚本在Jenkins中自动设置权限/特权的过程。 限制对Jenkins数据/文件夹的物理访问。 定期对其进行安全审核。
20、解释如何部署核心插件的自定义版本?
停止Jenkins。 将自定义HPI复制到 $ Jenkins_Home / plugins。 删除以前扩展的插件目录。 制作一个名为 .hpi.pinned的空文件 。 启动Jenkins。
21、当您在Jenkins(Jenkins)项目中看到损坏的版本时,该怎么办?
我将为损坏的版本打开控制台输出,并尝试查看是否丢失了任何文件更改。如果无法以这种方式找到问题,则将清理并更新本地工作区以在本地复制问题并尝试解决。
如果您采用其他方式,则只需在答案中提及即可。
22、在Jenkins中可以通过什么方式安排构建?
通过源代码管理提交 完成其他构建后 可以安排在指定时间运行(crons) 手动构建请求
23、Jenkins中管道的用途是什么?
24、解释术语Agent,Post-section,Jenkinsfile
Post-section:如果我们必须在管道的末尾添加一些通知并执行其他任务,则Post-section肯定会在每个管道的执行结束时运行。
Jenkinsfile:定义了管道的所有定义的文本文件称为Jenkinsfile。正在源代码控制存储库中检查它。
25、您了解云计算吗?Jenkins如何适应云计算环境?举例说明。
26、什么是Kubernetes?您如何将Jenkins与Kubernetes集成?
27、您是否在Jenkins上运行自动化测试?怎么做?
28、让我们说,您有一条管道。第一项工作成功,但是第二项失败。接下来您该怎么办?
29、Jenkins HOME目录的用途是什么?
30、什么是备用插件?为什么使用它?
31、什么是触发器?举例说明检测到新提交时如何轮询存储库。
当Jenkins与SCM工具(例如Git)集成时,每次提交时都可以轮询存储库。
应该先安装并设置Git插件。
之后,您可以构建一个触发器,该触发器指定何时应开始新的构建。例如,您可以创建一个作业,该作业将轮询存储库并在提交更改时触发构建。
32、您如何在Jenkins中定义构建的参数?
33、配置Jenkins节点Agent以与Jenkins master通信的方式有哪些?
浏览器–如果从浏览器启动Jenkins节点代理,则将下载JNLP(Java Web Start)文件。该文件在客户端计算机上启动新进程以运行作业。
命令行–要使用命令行启动节点代理,客户端需要可执行的agent.jar文件。运行此文件时,它仅在客户端上启动一个进程以与Jenkins主服务器通信以运行构建作业。
34、Jenkins如何验证用户身份?
有3种方法
将Jenkins配置为使用由部署它的应用程序服务器定义的身份验证机制。
配置Jenkins以针对LDAP服务器进行身份验证。
35、您如何在Jenkins中使用第三方工具?
下载支持第三方工具的插件。
在管理控制台中配置第三方工具。
然后使用Jenkins构建作业中所需的插件。
对于不同的第三方工具,由于配置设置的不同,此过程可能会略有不同。
36、Jenkins的管道类型是什么?
脚本管道
声明式管道
37、Jenkins使用什么语法来计划构建作业或SVN轮询?
Cron语法使用五个星号表示,每个星号之间用空格隔开。语法如下– [分钟] [小时] [每月的某天] [月份] [一周的某天]。例如,如果您想为每个星期一的11.59 pm设置cron,则为59 11 * * 1
38、什么是DevOps,Jenkins处于哪个阶段?
39、您知道其他持续集成工具吗?Jenkins比其他任何人都更好吗?
TeamCity Bamboo Perforce Circle CI Go ThoughtWorks Integrity Travis CI
还有更多。我们不能说Jenkins是否比每个人都要好,因为每个人都有自己独特的特征。例如,TeamCity提供了出色的.NET支持,但又复杂又昂贵,Travis CI与Jenkins一样免费,并且文档也不错。Bamboo也提供了高效,快速的构建,但并不是完全免费的,依此类推。
40、命名您在Shell脚本或批处理文件中使用过的Jenkins环境变量。
$JOB_NAME $NODE_NAME $WORKSPACE $BUILD_URL $JOB_URL
请注意,随着新Jenkins插件的配置,更多的环境变量变得可用。例如,配置Jenkins Git插件后,新的Jenkins Git环境变量(例如$ GIT_COMMIT和$ GIT_URL)就可以在脚本中使用。
41、在Jenkins中,什么是持续集成?
42、您如何使用Jenkins实现持续集成?
Jenkins服务器按指定的时间间隔检查共享的Git存储库,然后将检测到的更改纳入构建。
构建结果和测试结果共享给各个开发人员
生成的应用程序显示在Selenium等测试服务器上,并运行自动化测试。
干净且经过测试的内部版本已部署到生产服务器。
43、什么是DSL Jenkins?
44、如何在Jenkins中创建多分支管道?
45、Jenkins的工作或项目类型是什么?
Freestyle project Maven project Pipeline Multibranch pipeline External Job Multi-configuration project Github organization
46、Jenkins的蓝色海洋是什么?
三、高级问题
47、什么是连续测试?
连续测试是指连续进行测试而不会发生任何形式的中断。在持续的DevOps流程中,软件变更从开发到测试再到部署都在不断变化。该代码经过不断的开发,交付,测试和部署。
48、解释如何将Jenkins从一台服务器移动或复制到另一台服务器?
您可以:
只需复制相应的作业目录,即可将作业从Jenkins的一个安装移至另一安装。 通过使用不同的名称克隆作业目录来复制现有作业。 通过重命名目录来重命名现有作业。请注意,如果您更改作业名称,则将需要更改任何其他尝试调用重命名作业的作业。
49、您如何将Git与Jenkins集成?
(1)单击 Jenkins仪表板上的Manage Jenkins按钮:

(2)单击管理插件。

(3)在插件页面中
选择GIT插件
单击不重新启动就 安装。 根据您的互联网连接情况,该插件将需要一些时间才能完成下载,并且会自动安装。
您还可以选择选项 立即下载并在重新启动后安装。
如果您已经安装了Git插件,现在将看到“无可用更新”消息。
(4)安装插件后,转到Jenkins仪表板上的Manage Jenkins 。您将在其余列表中看到您的插件。

50、如果管理用户已将自己锁定在管理控制台之外,那么如何暂时关闭Jenkins安全性?
false
但是,我们必须了解,禁用安全性始终应该是万不得已和临时措施。解决身份验证问题后,请确保重新启用Jenkins安全性并重新启动CI服务器。
51、您可以定义连续交付工作流程吗?

52、持续交付和持续部署之间有什么区别?

持续交付是一种软件开发实践,在这种实践中,您可以以可以随时将其发布到生产中的方式构建软件。通过持续集成开发团队构建的产品,对这些构建的产品运行自动测试以检测问题,然后将这些文件推送到类似于生产的环境中,以确保软件可以在生产环境中运行,可以实现持续交付。
连续部署:(自动部署到生产。涉及自动部署每个更改)

持续部署意味着您所做的每项更改都会通过管道,并且如果通过所有测试,则会自动部署到生产中。因此,使用这种方法,您可以自动完成所有工作,因此软件版本的质量完全取决于测试套件的质量。
53、您将管道作为代码是什么意思?
要将 管道用作代码,项目必须包含在存储库根目录中命名的文件,该文件包含“管道脚本”。Jenkinsfile
此外,需要在Jenkins中配置启用工作之一:
多分支管道:自动构建单个存储库的多个分支
组织文件夹:扫描GitHub组织或Bitbucket团队以发现组织的存储库,自动为其创建托管的多分支管道作业
相关视频教程推荐: