zoukankan      html  css  js  c++  java
  • 【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架构师必看 ,更多内容点击查看!

  • 相关阅读:
    龙井和碧螺春的功效与作用
    064 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 无参带返回值方法
    063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法
    062 01 Android 零基础入门 01 Java基础语法 07 Java二维数组 01 二维数组应用
    061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结
    060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序
    059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环
    058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值
    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和
    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
  • 原文地址:https://www.cnblogs.com/mush/p/13840159.html
Copyright © 2011-2022 走看看