【11】进大厂必须掌握的面试题-持续集成面试

Q1。持续集成是什么意思?

我将建议您通过对持续集成(CI)进行小的定义来开始此答案。这是一种开发实践,要求开发人员每天多次将代码集成到共享存储库中。然后,每个签入均由自动构建进行验证,从而使团队能够及早发现问题。
我建议您说明您在上一份工作中是如何实施的。您可以参考以下给出的示例:

Jenkins独立架构-Devops面试问题

在上图所示的图中:

  1. 开发人员将代码检出到其专用工作区中。
  2. 完成后,将更改提交到共享存储库(版本控制存储库)。
  3. CI服务器监视存储库,并在发生更改时签出更改。
  4. 然后,CI服务器提取这些更改并构建系统,并运行单元测试和集成测试。
  5. CI服务器现在将通知团队成功的构建。
  6. 如果构建或测试失败,则CI服务器将警告团队。
  7. 该小组将尽早解决此问题。
  8. 这个过程不断重复。

Q2。为什么需要开发与测试的持续集成?

对于此答案,您应重点关注持续集成的需求。我的建议是在您的答案中提及以下解释:
开发和测试的持续集成通过在完成所有开发后替换传统的测试实践,提高了软件的质量,并缩短了交付软件的时间。由于开发人员需要每天(多次)将代码集成到共享存储库中,因此开发团队可以轻松地及早发现并定位问题。然后将自动测试每个签入。

Q3。持续集成的成功因素是什么?

在这里,您必须提及持续集成的要求。您可以在回答中包括以下几点:

  • 维护代码库
  • 自动化构建
  • 使构建自检
  • 每个人每天都致力于基线
  • 每次提交(到基线)都应该构建
  • 保持快速构建
  • 在生产环境的克隆中进行测试
  • 轻松获取最新交付物
  • 每个人都可以看到最新版本的结果
  • 自动化部署

Q4。解释如何将Jenkins从一台服务器移动或复制到另一台服务器?

我将通过将作业目录从旧服务器复制到新服务器来完成此任务。有多种方法可以做到这一点。我在下面提到了它们:
您可以:

  • 只需复制相应的作业目录,即可将作业从一个Jenkins安装移至另一安装。
  • 通过使用不同的名称克隆作业目录来复制现有作业。
  • 通过重命名目录来重命名现有作业。请注意,如果您更改作业名称,则将需要更改任何其他尝试调用重命名作业的作业。

Q5。解释如何在Jenkins中创建备份和复制文件?

这个问题的答案确实是直接的。要创建备份,您需要做的就是定期备份JENKINS_HOME目录。这包含所有构建作业配置,从属节点配置以及构建历史记录。要创建您的Jenkins设置的备份,只需复制此目录。您还可以复制作业目录以克隆或复制作业或重命名目录。

Q6。解释如何设置Jenkins工作?

我要回答这个问题的方法是首先提到如何创建Jenkins工作。转到Jenkins主页,选择“新建作业”,然后选择“构建自由样式的软件项目”。
然后,您可以说出此自由式作业的元素:

  • 源代码所在的可选SCM,例如CVS或Subversion。
  • 可选触发器,用于控制Jenkins何时执行构建。
  • 某种执行实际工作的构建脚本(ant,maven,shell脚本,批处理文件等)。
  • 从构建中收集信息的可选步骤,例如,归档工件和/或记录javadoc和测试结果。
  • 通知其他人员/系统构建结果的可选步骤,例如发送电子邮件,IM,更新问题跟踪器等。

Q7。在Jenkins中提及一些有用的插件。

下面,我提到了一些重要的插件:

  • Maven 2 project
  • Amazon EC2
  • HTML publisher
  • Copy artifact
  • Join
  • Green Balls

我觉得这些插件是最有用的插件。如果要包括上面未提及的任何其他插件,也可以添加它们。但是,请确保首先提及上述插件,然后添加您自己的插件。

Q8。您将如何保护Jenkins?

下面提到我保护Jenkins的方法。如果您还有其他方法,请在下面的评论部分中提及:

  • 确保启用全局安全性。
  • 确保使用适当的插件将Jenkins与我公司的用户目录集成。
  • 确保已启用矩阵/项目矩阵以微调访问。
  • 使用自定义版本控制脚本在Jenkins中自动设置权限/特权的过程。
  • 限制对Jenkins数据/文件夹的物理访问。
  • 定期对其进行安全审核。

欢迎关注 Java架构师社区公众号.
本文转载自Java架构师必看 ,更多内容点击查看!

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/6666
2

发表评论