文档章节

Jenkins持续集成

偏之方
 偏之方
发布于 2016/07/11 16:41
字数 1026
阅读 10
收藏 0

一.安装

        Jenkins的安装百度一查一大堆,这里就不重复了.

二.设置

        Jenkins安装完毕以后,可以进行插件安装。由于Jenkins自动下载的服务器很不给力,很多插件都是不能下载的,所以需要先去插件网站上把相应的插件下载下来,然后手动上传。

安装完所有的插件以后,可以在下面这个页面进行系统工具配置

我在这里设置了JDK和MAVEN

        这里有两种方式,第一种指定jenkins安装服务器上的工具目录,比如这里的JDK。还有一种是直接从网上下载相应的工具版本,比如这里的maven。

        接下来进行系统配置,基本上系统已经帮我们默认的这是好了一些属性,大家可以根据自己实际需求进行修改。我这里主要是配置了两个地方,一个是Jenkins Location还有一个是Extended E-mail Notification,这两个配置主要是为了发送报告邮件到指定邮箱的。

    上面就是邮件发送设置,下面大概说下邮件内容设置。

    上面的几个设置项基本上是发送地址,邮件标题,路由等一些设置,具体要设置什么内容,可以点开后面的小问号,里面有具体的说明。这里主要要说的是邮件内容设置。使用jenkins的目的是针对公司目前的情况,需要对各种外包项目进行品质验收,希望借助Jenkins的自动化检测功能来进行报告输出,和自动化部署。所以我们用到了很多代码检测的工具:checkstyle,findbugs等。这些插件可以直接从Jenkins的插件中心下载安装,非常方便。检测后的结果通过上面的邮件配置,发送给相关的人员。在Jenkins中会有很多的公共参数,可以取得Jenkins的运行结果,有人整理如下(不过是日文的。。。):

    上面这些邮件设置是共通设置,每个新建的Job里都可以直接使用。

    配置完这些,就可以开始新建Job了,怎么新建一样找百度,有详细的说明。

    新建好以后,可以对每个Job进行个性化的设置。第一个就是项目代码获取,设置好SVN地址和登录的用户名密码,Check-out Strategy这里设置成每次获取增量更新的代码。

    由于要自动运行单元测试并得出测试覆盖率,所以使用了cobertura插件,通过下面的命令启动。

    项目检测完以后输出各类报告,勾选下面这些选项:

    最后设置个性化邮件配置,可以默认的从之前设置的共通设置里获取对应的内容,也可以自定义设置其他内容。

       到这里基本上配置就完成了,保存以后就可以立即构建进行代码检测。Jenkins会从SVN服务器拉取所有代码,通过MAVEN进行编译,然后自动的运行FindBugs,CheckStyle,Cobertura等插件最后给出一个检测报告并通过之前配置的邮件内容,发送结果给相对应的人。具体内容如下图:

    到这里整个配置差不多就结束了,如果项目检测都没有什么问题,Jenkins就可以通过SSH脚本自动的发布这个项目到对应的服务器上。整个配置还是比较简单的,比较麻烦的是需要在被检测的项目中进行很多maven的配置可以让Jenkins的各种插件知道他们该做什么。我们的项目是用SpringMvc的分包结构,在进行单元测试代码编写和自动运行,到整体覆盖率的输出碰到了很多的坑,具体是什么请听下回分解。。。。。。

© 著作权归作者所有

共有 人打赏支持
偏之方
粉丝 1
博文 1
码字总数 1026
作品 0
杭州
程序员
.NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、CI, CD 与Jenkins   互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称...

Edison Chou
08/11
0
0
基于 Jenkins 快速搭建持续集成环境

简介: 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是...

IBMdW
2011/11/24
20.8K
8
基于Jenkins 快速搭建持续集成环境

持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)...

openthings
2015/12/09
338
0
持续化集成工具jenkins环境搭建及配置

1.Jenkins是什么,用来解决什么问题 对于很多做嵌入式的同学可能没有听过持续集成这个词, 也就没有接触过Jenkins这个工具软件,那么什么是持续集成, Jenkins具体用来做什么呢? 持续集成, Conti...

陈小扁
2016/04/13
188
0
6.2、 产品经理甩锅指南-CI环境

上次在这里提到了敏捷开发scrum,6、产品经理和包工头的故事,敏捷开发背景下,还有CI(持续集成)环境,持续交付和持续部署。 小奈:今天捅了个篓子,我只是叫开发,修改个导航栏而已。 也测试...

产品经理的技术课堂
06/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
6
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
5
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部