Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式
1.Jenkins怎么备份恢复?
只需要拷贝home下面的jenkins打个包,下次要恢复就用这个覆盖,所有的东西都是一模一样了
2. 在jenkins中什么是持续集成?
在软件开发中, 多个开发人员或团队在同一个Web应用程序的不同部分上工作, 因此你必须通过集成所有模块来执行集成测试。为了做到这一点, 每天都要对每段代码进行自动化处理, 以便对所有代码进行测试。此过程称为连续集成
3. 哈德森和jenkins之间是什么关系?
哈德森是现今Jenkins的较早名称和版本。发行后, 项目名称从Hudson更改为Jenkins
需要一个可访问的源代码存储库。例如, 将Git存储库和正在运行的构建脚本(例如Maven脚本)签入到存储库中。
5.Jenkins的优势包括:
在开发环境的早期阶段, 错误跟踪很容易。
提供大量的插件支持。
对代码的迭代改进。
构建失败会在集成阶段进行缓存。
对于每个代码提交更改, 都会生成一个自动生成报告通知。
为了将构建报告的成功或失败通知开发人员, 它与LDAP邮件服务器集成在一起。
实现持续集成的敏捷开发和测试驱动的开发。
通过简单的步骤, 即可自动完成maven发布项目
· 使用所有单元测试在本地计算机上执行成功的全新安装。
· 检查所有代码更改。
· 与存储库同步, 以确保所有必需的配置和POM更改以及所有差异都被检入到存储库中
· 首先, 复制相关的作业目录, 然后将作业从Jenkins的一个安装滑动到另一个安装。
· 通过使用不同的名称克隆作业目录来复制现有作业。
· 通过重命名目录来重命名现有作业
如果要通过Jenkins克隆Git存储库, 则必须输入Jenkins系统的电子邮件和用户名。切换到作业目录并为此执行” git config”命令。
· GIT, SVN等版本控制系统
· 并构建诸如Apache Maven之类的工具。
开发者的工作大概流程是,eclipse编写代码,提交代码到svn,然后进行编译,打包,测试,部署,发布。 这其中很多重复的工作,影响开发人员的情绪,应当让开发者只重视代码阶段,后面的内容不用去理会,只要编写代码,提交代码,然后就能打开页面看到效果,那是最好的。 这就需要自动化构建,jenkins就是很好的自动化构建工具。
具体流程如下:
1.编写代码,修改代码
2.提交代码到svn
3.Jenkins自动检测到svn代码更新,从svn拉取最新代码
4.Jenkins自动编译
5.Jenkins自动打成tomcat下能运行的war包
6.Jenkins自动上传war包到docker宿主机目录
7.Jenkins自动构建web容器镜像,包含项目demo
8.Jenkins自动启动镜像,变成容器,映射端口
9.最后就有项目运行的界面提供了
Jenkins部署有两种方法(可以装到windows或者linux,实验中以windows的方式一为例): Jenkins是用Java语言开发的系统,首先要确定服务器上已经安装JDK或者JRE
上一篇: 测试人员如何提升测试技能
下一篇: 软件测试之手工测试人员如何转测试开发?