1.jenkins是什么
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
2.为什么使用jenkins
Jenkins是一种使用Java编程语言编写的开源持续集成软件工具,用于实时测试和报告较大代码库中的孤立更改。 Jenkins软件使开发人员能够快速找到并解决代码库中的缺陷,并自动进行构建测试。
3.CI/CD是什么
CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。
4.集中常见的CI工具
以下是前8种持续集成工具的列表:
Jenkins
TeamCity
Travis
CIGo
CDBamboo
GitLabCI
CircleCI
Codeship
5.什么是Jenkins pipeline
Pipeline,简而言之,就是一台运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
Jenkins Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。
6.为什么在jenkins中使用管道
Pipeline在Jenkins上添加了一套强大的自动化工具,支持从简单的持续集成到全面的持续交付管道的用例。 通过对一系列相关任务进行建模,用户可以利用Pipeline的许多功能: 代码:流水线是用代码实现的,通常会检查到源代码管理中,从而使团队能够编辑,查看和迭代其交付流水线。耐用:管道可以在Jenkins主服务器的计划内和计划外重启中生存。可暂停:管道可以选择停止并等待人工输入或批准,然后再继续管道运行。多功能:管道支持复杂的现实世界中的连续交付需求,包括加入,循环和并行执行工作的能力。
7.什么是jenkinsfile?为什么使用jenkinsfile
Jenkinsfile是一个文本文件,其中包含Jenkins Pipeline的定义,并已签入源代码管理
虽然用于定义管道的脚本语法和jenkinsfile类似,但通常认为在项目中定义管道Jenkinsfile并检查源代码管理是最佳实践。
为所有分支和请求自动创建一个管道构建过程。
管道上的代码审查/迭代。
审核追踪管道
8.什么是Blue Ocean
Blue Ocean是pipeline的可视化UI。同时他兼容经典的自由模式的job。Jenkins Pipeline从头开始设计,但仍与自由式作业兼容,Blue Ocean减少了经典模式下的混乱并为团队中的每个成员增加了清晰度。Blue Ocean的主要特点包括:
连续交付(CD)管道的复杂可视化,可以让您快速直观地理解管道状态。
管道编辑器 - 通过引导用户通过直观和可视化的过程来创建管道,从而使管道的创建变得平易近人。
个性化以适应团队中每个成员的基于角色的需求。
在需要干预和/或出现问题时确定精确度。Blue Ocean显示的标注了关键步骤,促进异常处理和提高生产力。
9.如何在jenkins中备份和复制文件
创建备份,需要做的就是定期备份JENKINS_HOME目录。 这包含所有构建作业配置,从属节点配置以及构建历史记录。 要创建Jenkins设置的备份,只需复制此目录。
10.jenkins的优势是什么
Jenkins的优势包括:
在开发环境的早期阶段, 错误跟踪很容易。
提供大量的插件支持。
对代码的迭代改进。
构建失败会在集成阶段进行缓存。
对于每个代码提交更改, 都会生成一个自动生成报告通知。
为了将构建报告的成功或失败通知开发人员, 它与LDAP邮件服务器集成在一起。
实现持续集成的敏捷开发和测试驱动的开发。
通过简单的步骤, 即可自动完成maven发布项目。
11.Jenkins主要整合了两个组成部分?
Jenkins与以下两个组件集成在一起:
GIT, SVN等版本控制系统
并构建诸如Apache Maven之类的工具。
12.Jenkins中一些由用的插件
下面我将提到一些重要插件:
Maven 2 project
Amazon EC2
HTML publisher
Copy artifact
Join
Green Balls