一、是什么

1概念


持续集成频繁地(一天多次)将代码集成到主干。

持续交付频繁地将软件的新版本,交付给质量团队或者用户,
以供评审。

持续部署:指的是代码通过评审以后,自动部署到生产环境。

持续部署的目的是代码任何时刻都可以部署进入生产环境 。

持续部署的前提是能够自动化完成构建、测试、部署

持续交付持续部署区别

2流程

1.2.1 代码提交

提交svn仓库(应该是合并到主干项目上才开始自动进行单元测试)<br>

1.2.2 进行自动化测试

1.2.3 构建(从代码到可以实际运行的项目)

Jenkins 开源软件
 Strider 开源软件
Travis 对于开源项目可以免费使用
Codeship 对于开源项目可以免费使用

1.2.4 集成测试

1.2.5 打包部署

1.2.6 回滚

3原则

1.3.1 开发人员及时提交新版本代码
1.3.2 及时更新新版本代码

二、怎么做

1系统准备

2.1.1 一个自动构建过程,包括自动编译、分发、部署和测试等。(maven)

2.1.2 一个代码存储库,即需要版本控制软件来保障代码的可维护性,
同时作为构建过程的素材库。(svn)

2.1.3 一个持续集成服务器(centos 服务器)

2具体步骤

centos 安装jenkisn yum install -y jenkins

默认安装目录 /var/lib/jenkins

日志 /var/log/jenkins/

启动jenkins service jenkins start

新手最关心的是安装好jenkins需要哪些插件

Subversion Plug-in(管理源码)、 Maven Integration plugin(编译构建)、
Publish Over SSH(远程部署)、Deploy to container Plugin(tomcat远程部署不太好用)

如果在插件中心更新遇到问题。可以采用高级方式上传插件进行安装。

插件网址:http://mirror.xmission.com/jenkins/plugins/

接下来进行系统设置

编码设置
jdk maven 设置
远程部署配置,采用用户名密码方式点击高级进行设置

项目配置

最重要部分,拷贝文件时会把Source files 全部拷贝到目标服务器上, 按照现在的配置我们的war包在目标服务器上的地址为
/usr/local/target/**-1.0.0.war

详细配置见 http://jdkleo.iteye.com/blog/2159844