• 【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架构师必看 ,更多内容点击查看!

  • 相关阅读:
    Codeforces Round #136 (Div. 1) B. Little Elephant and Array
    洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths
    cogs 969. [NOIP2006] 数列
    防止xss(跨站脚本攻击)
    ☀【插件】iScroll
    ☀【移动优化】
    ☀【Zepto】
    ☀【JS】Code
    ☀【响应式设计】屏幕尺寸
    CODEVS——T2744 养鱼喂妹纸
  • 原文地址:https://www.cnblogs.com/javajgs/p/13840159.html
Copyright © 2020-2023  润新知