原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3
原文作者:Saurabh Kulshrestha
翻译君:CODING 戴维奥普斯

Q1:什么是持续集成?

我会建议你以持续集成的最小定义作为开始来回答这个问题。这是一种研发实践,需要开发人员每天多次将代码集成到共享代码库中。然后通过自动构建来验证每次代码的修改,以便团队尽早发现问题。

我建议你解释一下在以前的工作中是如何实施持续集成的,可以参考以下示例:

在上图中:
1、开发人员将代码 clone 至私有工作区。
2、完成编码后,他们将更改提交至共享代码库中(版本控制仓库)。
3、CI 服务器监视代码仓库并在发生更改时检出更改。
4、紧接着 CI 服务器提取这些变更进行构建、运行单元以及集成测试。
5、CI 服务器会立即告知团队构建成功与否。
6、如果构建失败,CI 服务器会向团队发送告警。
7、研发团队将尽快解决问题。
8、这个过程会不断重复。

Q2:为什么研发团队需要开发与测试的持续集成?

对于这个答案,你应该关注持续集成的需求。我建议你在回答中提到以下解释:
开发和测试的持续集成通过在完成所有开发之后替换传统的测试实践,来提高软件质量并减少交付耗时。它允许开发团队尽早检测和定位问题,因为开发人员需要每天多次(或更频繁地)将代码集成到代码仓库中,然后自动验证每次集成。

Q3:持续集成的成功因素有哪些?

在这里,你必须提到持续集成的要求,可以在回答中包含以下几点:

  • 维护代码仓库
  • 自动化构建
  • 让构建自我检测
  • 每个人每天都确保已将修改提交至基线
  • 保持快速构建
  • 在生产环境的克隆环境中进行测试
  • 研发团队可以轻松获得最新的可交付成果
  • 每个人都可以看到最新构建的结果
  • 自动部署

Q4:如何将 Jenkins 从一台服务器迁移或者复制到另一台服务器?

我会通过将 jobs 目录从旧服务器复制到新服务器的方式来完成这个事情。有很多种方法可以做到这一点:

  • 只需复制相应的 job 目录,即可将 job 从一个 Jenkins 服务器移动到另一个。
  • 通过使用其它名称克隆 job 目录来制作现有 job 的副本。
  • 通过重命名目录来重命名现有 job。请注意,如果你更改了 job 名称,则需要更改尝试调用该重命名 job 的所有 job 。

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

可以很直接地回答这个问题:要创建备份。你需要做的就是定期备份 JENKINS_HOME 目录。这包含所有构建 job 配置,从属节点配置和构建历史记录。要创建 Jenkins 的备份,只需复制此目录即可,你还可以复制 job 目录或重命名目录。

Q6:如何配置 Jenkins 的 job?

关于这个答案的解决方法是首先提一下如何创建 job:转到 Jenkins 首页,选择“New Job”,然后选择“Build a free-style software project”。然后你可以设置这个自由式 job 的元素:

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

Q7:列举 Jenkins 中一些有用的插件

下面我将提到一些重要插件:

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

我觉得这些是最有用的插件,你也可以添加你认为有用的插件。但是请确保首先提到上述插件,然后添加你自己的插件。

Q8:如何保证 Jenkins 的安全?

  • 确保 global security 配置项已经打开。
  • 确保用适当的插件将 Jenkins 与企业员工目录进行集成。
  • 确保启用项目矩阵的权限访问设置。
  • 通过自定义版本控制的脚本来自动化 Jenkins 中设置权限/特权的过程。
  • 限制对 Jenkins 数据/文件夹的物理访问。
  • 定期对其进行安全审核。

点击使用 CODING
体验 DevOps 全工具链敏捷研发

2019 DevOps 必备面试题——持续集成篇的更多相关文章

  1. 2019 DevOps 必备面试题——代码版本控制篇

    原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...

  2. 2019 DevOps 必备面试题——DevOps 理念篇

    原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...

  3. 2019 DevOps 必备面试题——配置管理篇

    原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...

  4. 2019 DevOps 必备面试题——容器化和虚拟化

    原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...

  5. 持续集成篇_08_Hudson持续集成服务器的使用(自动化编译、分析、打包、部署)

    持续集成篇_08_Hudson持续集成服务器的使用(自动化编译.分析.打包.部署) 1.创建任务 svn用户验证 验证通过 *****五颗*表示每分钟检查svn路径是否有变更,有变更就会重新构建,相当 ...

  6. Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)

    使用jenkins+git+python脚本进行持续集成的接口测试,在jenkins平台,利用插件等,把管理代码的git仓库的代码更新下来进行持续接口测试,python进行开发测试脚本,git进行远程 ...

  7. Jmeter 接口测试知识梳理——持续集成篇

    Jmeter 使用也有很长时间了,但是一直没有做一下知识梳理,近期会对公司同事做一下这方面的培训,借此机会,把使用过程中应用到的知识,或是遇到的问题,整理出来,方便大家学习! Jmeter + Ant ...

  8. 【OF框架】在Azure DevOps中配置项目持续集成CI服务,推送镜像到Azure容器注册表

    准备工作 开通Azure账号,具有开通服务权限,关键是里面要有钱. 开通Azure DevOps,能够创建组织和项目. 具备一定的DevOps知识,了解CICD概念.Docker基本操作. 一.创建& ...

  9. 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装

    1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...

随机推荐

  1. 视频分享慕课网----Angular 打造企业级协作平台

    慕课网是一个非常不错的视频学习网站,搭建搭建企业协作平台,导师由深到浅,讲解的特别好. 本课程主要学习 Angular 进阶知识点和技巧(Material.动画.依赖注入.表单控件.RxJS,Redu ...

  2. C#开发微信小程序(三)

    导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...

  3. Java 8——重复注解和注解的作用范围的扩大化

    一.重复注解 在某些情况下,希望将相同的注解应用于声明或类型用途.从Java SE 8发行版开始,重复注解使可以执行此操作. 例如,正在编写代码以使用计时器服务,该服务使能够在给定时间或某个计划上运行 ...

  4. SAP-BP 创建客商(摘抄)

    FORM frm_bp02 . * 更改供应商所需变量 DATA:l_xfeld TYPE xfeld, "复选框 ls_data TYPE vmds_ei_main, "供应商总 ...

  5. FCC---CSS Flexbox: Apply the flex-direction Property to Create Rows in the Tweet Embed

    The header and footer in the tweet embed example have child items that could be arranged as rows usi ...

  6. Android数据库GreenDao的使用总结

    一.GreenDao的介绍 GreenDAO是一个开源的Android ORM(“对象/关系映射”),通过ORM(称为“对象/关系映射”),节省了我们在数据库开发过程的时间! 通过GreenDao,我 ...

  7. Linux(Centos7)下Mysql的安装

    1.1 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysq ...

  8. 图像的相似度Hash算法

    Hash算法有三种,分别为平均哈希算法(aHash).感知哈希算法你(pHash)和差异哈哈希算法(dHash). 针对以上三种的Hash算法详解见博客园文章 https://www.cnblogs. ...

  9. OAuthon2.0机制详解

    最近在忙企业微信和钉钉的第三方应用开发,需要获取一些信息,第一个就是这个OAuthon2.0,先详细了解下概念和流程 一.应用场景 我们要想用第三方播放器播放你的云盘账号里面的一些秘密视频资源,为了要 ...

  10. MAC下安装pomelo

    配置:OS X 10.9.4 + Xcode 6.0 摘要:本文目标为成功运行pomelo的HelloWorld程序.   壹.| 安装必要项   一.安装Xcode及相关工具 1.安装Xcode. ...