持续集成平台jenkins

一. 什么是持续集成

1. 概念

持续集成(Continuous Integration),也就是咱们常常说的CIhtml

持续集成(CI)是一种实践,可让团队在持续的基础上收到反馈并进行改进,没必要等到开发周期后期才寻找和修复缺陷linux

2. 为何要使用持续集成

  • bug老是在最后才发现git

  • 越到项目后期,问题越难解决编程

  • 软件交付时机没法保障windows

  • 程序常常须要变动服务器

  • 无效的等待变多svn

3. 多人开发流程图

多人协做开发,因为开发只会测试本身的代码,多人的代码集成在一块儿,不免会出现这样那样的bug。这时就须要jenkins对集成后的代码进行打包编译,若是有问题会进行反馈工具

持续集成并非要等到项目稳定,而是在项目一开始就要进行,这样才能尽早发现问题,解决问题post

二. 持续集成的用途(标红色的都是)

三. 持续集成的好处

1. 解放了重复性劳动测试

2. 更快地修复问题

3. 更快地交付成果

4. 减小了手工的错误

人和机器的一个最大的区别是,在重复性劳动上,人容易犯错,而机器犯错的概率几乎为零。因此,当咱们搭建完成集成服务器后,之后的事就交给集成服务器来打理吧

5. 减小了等待时间

持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间能够出现的等待时间

持续集成,意味着开发、集成、测试、部署也得以持续

6. 更高的产品质量

集成服务器每每提供 Code review、代码质量检测等功能

对代码不规范或者有错误的地方会进行标识,也能够设置邮件、短信等进行警告

而开发人员经过 Code review 也能够持续提升编程的能力

四. jenkins 介绍

一款持续集成工具

1. 环境安装:

1). jdk 1.8

2). jenkins下载地址: https://jenkins.io/download/ 下载 Long-term Support(LTS) 下的版本

2. jenkins 概念

1). Job

在jenkins平台中,都是以Job(任务/工程)为单位去完成一件事情的

 

2). plugin(插件)

jenkins提供平台,集成各类插件来完成一个Job。想用jenkins平台来作什么,先找找有没有相应的插件。好比:windows命令、linux命令的支持、svn和git代码获取、邮件发送等

路径:系统管理 ->  管理插件 -> 可选插件

 

3). workspace(工做空间)

jenkins是经过文件形式来存储和管理数据的

workspace即给jenkins指定一个专门的目录来存储其全部的配置和数据

jenkins的workspace是根目录。每一个Job都有属于本身的workspace(任务之间互不相干)

路径:系统管理 ->  系统设置

 

4). jenkins管理(Jenkins Manager)

整个jenkins的全局配置,包括权限管理、插件管理、节点管理等

 

 3. jenkins Job详解

1). 基本信息配置(General)

Job名字、指定当前Job的工做空间、指定当前Job绑定到哪一个执行机上执行等

 

2). 源码管理(Source Code Management)

svn/git等,须要相应的插件支撑

配置好源码管理后,在执行Job时会自动从相应的源码库里下载代码到当前Job的工做空间中

 

3). 构建触发器(Build Triggers)

触发器:执行当前任务的条件

经常使用定时构建:相似windows/linux的定时任务。指定当前Job执行的时间

定时构建1:要求天天9点,14点,20点运行这个任务(其中*表明全部的有效值)

注意:若是0-0用H代替,会出现不整点的状况

定时构建2:要求天天9点到14点之间,每整点运行这个任务(其中*表明全部的有效值)

 

定时构建3:要求周一到周六天天9点到14点之间,每整点运行这个任务(其中*表明全部的有效值)

Poll SCM

 

4). 构建环境(Build Environment)

 

5). 构建(Build)

 

 

 

6). 构建后操做(Post-build Actions)

详细配置邮件请参考 jenkins自动发送邮件配置