什么是Jenkins?
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能经济界。
什么叫做持续集成?
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
用来干什么?
Jenkins可以用来集成自动测试部署环境。
jenkins+maven+svn+sonar+tomcat+shell脚本,实现每天定时自动化从svn下载最新代码然后编译打包部署到tomcat,并且代码质量走查,你值得拥有。
Jenkins是基于java开发的一种持续集成工具,用于监控持续重复的工作:
+ 持续的软件版本发布/测试
+ 监控外部调用执行的工作
比如说:
+ 跑脚本
+ 定时任务
+ 打包
+ 监控实时任务,直接发送邮件。
这些工作只需要你把Jenkins的框架配置好就可以了。
价值?
减少风险:
一天中进行多次的集成,并做了相应的测试,这样有利于检查缺陷,了解软件的健康状况,减少假定。
减少重复过程:
减少重复的过程可以节省时间、费用和工作量。说起来简单,做起来难。这些浪费时间的重复劳动可能在我们的项目活动的任何一个环节发生,包括代码编译、数据库集成、测试、审查、部署及反馈。通过自动化的持续集成可以将这些重复的动作都变成自动化的,无需太多人工干预,让人们的时间更多的投入到动脑筋的、更高价值的事情上。
Jenkins架构
Jenkins架构(master-slave)
1、Master/Slave相当于Server和agent的概念,Master提供web接口让用户来管理job和slave,job可以运行在master本机或者被分配到slave上运行。一个master可以关联多个slave用来为不同的job或相同的job的不同配置来服务。
2、在 Slave上执行JOB时,Slave需要安装可运行环境。
3、Slave可以是物理机也可以是虚拟机