Jenkins+maven+git+sonar 系统持续集成&代码单測管理

Jenkins的安装
Jenkins是基于Java开发的一种持续集成工具,用于监控持续反复的工作。功能包含:
1、持续的软件版本号公布/測试项目。

2、监控外部调用运行的工作。

1.下载最新的版本号(一个 war 文件)。

Jenkins官方网址: http://Jenkins-ci.org/

2.执行 java -jar jenkins.war(jenkins默认使用的是内嵌的jetty服务,用户也能够布置到其他容器中。

(默认是8080port。能够使用java
-jar jenkins.war --httpPort=8088,作为启动项目的监听port。)

注意:Jenkins 须要执行 Java 5以及以上的版本号。

Jenkins的基本配置

系统设置通过选择Manage Jenkins -》 Configure System

设置Maven的配置文件路径

由于jenkins默认使用的是svn管理项目的,要使用git须要安装git插件。

Manage Jenkins -》 Manage Plugins -》Available -》Git plugins 之后点击安装。之后再回到系统管理页面设置git相应的一些參数信息。

Sonar的安装

从sonar的官网下载最新的版本号http://www.sonarqube.org/

sonar的安装须要JDK5.0以上&须要安装Maven(sonar默认使用的是H2的内嵌数据库,只是在详细的使用中建议使用mysql等数据库)

sonar数据源的配置

更改..../sonarqube-4.5.1/conf/sonar.properties

设置properties文件

sonar.jdbc.username=数据库用户名

sonar.jdbc.password=数据库密码

设置数据库链接

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=

设置链接池

sonar.jdbc.maxActive=20

sonar.jdbc.maxIdle=5

sonar.jdbc.minIdle=2

sonar.jdbc.maxWait=5000

sonar.jdbc.minEvictableIdleTimeMillis=600000

sonar.jdbc.timeBetweenEvictionRunsMillis=30000

在mysql数据库中创建一个sonar的DB

启动sonar:./sonar.sh start(默认的启动port是9000,在浏览器中打开http://localhost:9000

Sonar的项目測试

在须要sonar统计測试的项目中配置sonar的maven配置

    <properties>
<!-- sonar config-->
<sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&autoReconnect=true</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>username</sonar.jdbc.username>
<sonar.jdbc.password>passwd</sonar.jdbc.password>
<sonar.host.url>http://localhost:9000</sonar.host.url>
<sonar.scm.enabled>true</sonar.scm.enabled>
<sonar.core.codeCoveragePlugin>cobertura</sonar.core.codeCoveragePlugin>
<sonar.cobertura.maxmen>1024M</sonar.cobertura.maxmen>
<sonar.skippedModules>
<!--不须要測试的包-->
</sonar.skippedModules>
</properties>

在相应的项目文件夹下使用mvn sonar:sonar调用sonar程序进行test的測试

Jenkins Sonar的配置

在Jenkins上设置sonar的配置管理,首先须要安装sonar的插件。Manage Jenkins -》 Manage Plugins -》Available -》Sonar Plugin 之后点击安装。

之后在系统设置上配置一些sonar的基本參数信息

Jenkins 项目管理配置

Jenkins项目配置管理



Sonar项目測试管理

启动项目build





查看项目的sonar測试情况



Jenkins+maven+git+sonar 系统持续集成&amp;代码单測管理的更多相关文章

  1. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  2. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  3. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  4. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  5. Jenkins+Ant+Git+Jmeter实现持续集成

    个人记录: 基本的配置与Jenkins+Ant+SVN+Jmeter实现持续集成的配置一样,主要在Jenkins的配置上的区别会有所不同 安装的插件: enkins安装好之后,需要为其安装gitlab ...

  6. Jenkins+Maven+Sonar系统持续集成环境部署以及配置

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

  7. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...

  8. Jenkins+Maven+SVN快速搭建持续集成环境

    http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...

  9. Jenkins+Maven+SVN快速搭建持续集成环境(转)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...

随机推荐

  1. 编译安装php时提示Cannot find MySQL header files的解决方法

    php的配置文件中有一行--with-mysql=/usr/local/mysql ,安装的时候提示:configure: error: Cannot find MySQL header files ...

  2. java测试1

    发大水 package com.java1234.activiti.variable; import java.util.Date; import java.util.HashMap; import ...

  3. 关于#include后面<>和" "的区别

    1.以尖括号制定头文件,如下所示: #include <stdio.h> 用尖括号来制定文件时,预处理器是以特定的方式来寻找文件,一般是环境中或编译器命令行指定的某种寻找路径.这种设置寻找 ...

  4. 跟我学android-常用控件之EditText

    EditText 是TextView的直接子类,它与TextView的区别在于,EditText可以接受用户输入. 下面通过一个实例来说明EditText的用法 实例:sina 微博的登录界面(注意, ...

  5. 【USACO 1.4.2】时钟

    [题目描述] 考虑将如此安排在一个 3 x 3 行列中的九个时钟: |-------| |-------| |-------| | | | | | | | |---O | |---O | | O | ...

  6. Linux makefile 教程 非常详细,且易懂(转)

    转自:http://blog.chinaunix.net/uid-27717694-id-3696246.html 原文地址:Linux makefile 教程 非常详细,且易懂 作者:Deem_pa ...

  7. jQuery 图片轮播

    HTML <div class="carousel">    <ul class="car-img">        <li> ...

  8. js学习笔记之:时间(二)

    今天来了解一下js中定时器的两种用法.js中包括2种定时器,分别是:           间隔型定时器:setInterval(开)    clearInterval (关)            延 ...

  9. php中json_decode()和json_encode()

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行 ...

  10. C#开发学习——.net C#中页面之间传值传参的方法以及内置对象

    1.QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能 ...