基于Jenkins 实现php项目的自动化测试、自动打包和自动部署(一)
身在创业公司,碰到任何问题,都得撸起袖子加油干:
随着项目团队的不断扩大,项目因为人员的参差不齐导致各种各样的问题。于是引入jenkins持续集成。
废话不多说,先普及基础概念
##(一)持续集成概述
1.什么是持续集成
随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近年来
敏捷开发在软件领域越来越火,如何能再不间断变化的需求中快熟适应和保证软件的质量显得尤其的重要.
持续集成正式针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是
通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快的发现集成错误,让团队能更快的开发内聚的软件。
持续集成的核心价值在于:
1、持续集成中的任何一个环节都是自动完成的,无需太多人工干预,有利于减少重复过程以节省时间、费用和工作量;
2、持续集成保障每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署
软件成为可能;
3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能够帮助团队进行有效决策,同时
简历团队对开发产品的信心。
####2. 持续集成的原则
业界普遍认同的持续集成的原则包括:
1、需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有cvs,subversion,git,sourcesafe等;
2、开发人员须及时向版本控制库中提交代码,也需经常性的从版本控制库中更新代码到本地;
3、需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,
如每半小时构建一次;
4、必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需手动启动一次构建。
####3.持续集成系统的组成
由此可见,一个完整的构建系统必须包括:
1、一个自动构建过程,包括自动编译、分发、部署和测试等。
2、一个代码库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。
3、一个持续集成服务器。即将介绍的jenkins就是一个配置简单和使用方便的持续集成服务器。
##(二)Jenkins 简介
Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更重要的业务逻辑实现上。同时Jenkins能
实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象的展示项目构建的趋势和稳定性。下面将介绍Jenkins的基本功能。
1.安装过程不多描述,
参考链接:http://birdinroom.blog.51cto.com/7740375/1342897
a.设置Jenkins主目录(环境变量)
windows:
`set JENKINS_HOME=D:\Program` Files\Jenkins\Tools\jenkins
Linux:
export JENKINS_HOME=xxxx
b.启动
java -jar jenkins.war