一. 什么是持续集成

1. 概念

持续集成(Continuous Integration),也就是我们经常说的CI

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

2. 为什么要使用持续集成

  • bug总是在最后才发现

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

  • 软件交付时机无法保障

  • 程序经常需要变更

  • 无效的等待变多

3. 多人开发流程图

多人协作开发,由于开发只会测试自己的代码,多人的代码集成在一起,难免会出现这样那样的bug。这时就需要jenkins对集成后的代码进行打包编译,如果有问题会进行反馈

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

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

三. 持续集成的好处

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自动发送邮件配置

持续集成平台jenkins的更多相关文章

  1. 使用jenkins构建持续集成平台

    jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线( ...

  2. 研发协同平台持续集成之Jenkins实践

    导读 研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一. 什么是持续集成 在<持续集成>一书中,对持续集成的定义如下:持续集成 ...

  3. 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1

    基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1 Jenkins的Master-Slave分布式构建 什么是Master-Slave分布式构建 Jenkins的Master-S ...

  4. 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2

    基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...

  5. 基于Kubernetes/K8S构建Jenkins持续集成平台(下)

    基于Kubernetes/K8S构建Jenkins持续集成平台(下) Jenkins-Master-Slave架构图回顾: 安装和配置NFS NFS简介 NFS(Network File System ...

  6. ThoughtWorks持续集成平台GO开源了

    ThoughtWorks 持续集成平台Go最近宣布开源了.其基于Apache 2.0 开源协议. Go下载地址为http://www.go.cd/download/. 下面是几张来自官方的视图: GO ...

  7. 老李分享:持续集成学好jenkins

    老李分享:持续集成学好jenkins   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...

  8. <自动化测试方案_9>第九章、持续集成平台搭建

    第九章.持续集成平台搭建 (一)什么是持续集成 参考文章地址:https://blog.csdn.net/qq_32261399/article/details/76651376 敏捷软件开发(英语: ...

  9. 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置

    安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...

随机推荐

  1. CentOS 7.4 下设置定时任务

    cron介绍 我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件. /var/spool/cron/ 目 ...

  2. 面试10大算法汇总+常见题目解答(Java)

    原文地址:http://www.lilongdream.com/2014/04/10/94.html(为转载+整理) 以下从Java的角度总结了面试常见的算法和数据结构:字符串,链表,树,图,排序,递 ...

  3. mapdb与Redis区别:

    Redis也能完全相同的工作,但必竟其独立于JVM之外通过Socket交互,能达到10万次/秒就很不了不起了 mapdb可直接嵌入到JVM运行空间,运行效率是Redis没法比的,单线程能达到 30万次 ...

  4. Scrapy框架2

    一.进程.线程.协成 1.进程.线程.协成之间的关系          1.  线程是计算机中最小的工作单元.              2. 进程是提供资源供n个线程使用,即进程是最小的管理单元. ...

  5. 如何成为专业的PHP开发者

    如何才能成为一名专业的PHP开发者?资深Web开发者Bruno Skvorc在其博客上分享了一些心得. 当阅读各种和PHP相关的博客.Quora问题.Google+社区.资讯和杂志的时候,Bruno ...

  6. SPOJ - HORRIBLE 【线段树】

    思路 线段树 区间更新 模板题 注意数据范围 AC代码 #include <cstdio> #include <cstring> #include <ctype.h> ...

  7. Loadrunder之脚本篇——关联

    关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的.动态的值. 例子:常 ...

  8. python glob

    http://python.jobbole.com/81552/ glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用 ...

  9. 详尽全面的matlab绘图教程

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  10. Ag-grid控件使用pine:left后,配合iview下拉框,会出现闪烁

    Ag-grid控件使用pinned:left后,配合iview下拉框,会出现闪烁 引起原因:下拉图标的反转动画 目前解决方案: 添加一个全局样式: 禁用动画,其他地方也是如此, 影响控件有:gz-tr ...