Jenkins sonar持续集成检测并发送构建邮件

前期准备

1.部署jenkins服务
2.Jenkins 服务器修改gitlab 的域名解析
Liunx修改命令如下:

 vi  /etc/hosts
 192.168.10.248 gitlab.rivamed.cn/

Docker 设置如下

docker exec <容器Id> /bin/sh -c "echo 172.19.12.249 d7739aed6d90 >> /etc/hosts"

为避免重启失效,放入开启启动项:

$ cd /etc/profile.d/ 
$ vi hosts.sh 

//输入命令,保存

docker exec <容器Id> /bin/sh -c "echo 172.19.12.249 d7739aed6d90 >> /etc/hosts"

3.添加自动发送email配置
1下载email插件
通过系统管理→管理插件→可选插件,选择Email Extension,下载指定插件。


在这里插入图片描述

2系统配置邮件信息
通过系统管理-系统设置进行email信息设置
在这里插入图片描述

3配置邮件发送模板
3.1设置管理邮件地址
在这里插入图片描述

3.2设置发件人信息以及邮件模板
通过系统设置中Extended E-mail Notification,对发件人信息进行设置,包括设置邮件服务器格式、默认收件人,邮件模板、触发机制等。
在这里插入图片描述

其中邮件内容模板可参照如下模板

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
      offset="0">
<table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
    <tr>
        本邮件由系统自动发出,无需回复!<br/>
        各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
        <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
    </tr>
    <tr>
        <td><br />
            <b><font color="#0B610B">构建信息</font></b>
            <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td>
            <ul>
                <li>项目名称 : ${PROJECT_NAME}</li>
                <li>构建编号 : 第${BUILD_NUMBER}次构建</li>
                <li>触发原因: ${CAUSE}</li>
                <li>构建状态: ${BUILD_STATUS}</li>
                <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
            </ul>

            <h4><font color="#0B610B">失败用例</font></h4>
            <hr size="2" width="100%" />
            $FAILED_TESTS<br/>

            <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
            <hr size="2" width="100%" />
            <ul>
                ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
            </ul>
            详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

        </td>
    </tr>
</table>
</body>
</html>

maven使用sonar插件检测提交

  1. Maven 添加sonarqube 配置信息
    在源码pom文件中添加sonar插件
<plugin>
   <groupId>org.sonarsource.scanner.maven</groupId>
   <artifactId>sonar-maven-plugin</artifactId>
   <version>3.8.0.2131</version>
</plugin>

在maven安装目录,conf目录中setting.xml中添加sonarqube的配置信息

 <!--添加位置,profiles中添加sonar的配置信息  -->
 <profiles>
 <profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
 <!--sonarqube地址 -->
        <sonar.host.url>http://192.168.111.59:9000/</sonar.host.url>
        <!-- sonarqube登录账号 -->
		<sonar.login>admin</sonar.login>
		 <!-- sonarqube 登录密码  -->
		<sonar.password>Aa123456</sonar.password>
    </properties>
</profile>
<profiles>
  1. 构建工程
点击新建任务-构建一个自由风格项目
![在这里插入图片描述](https://img-blog.csdnimg.cn/a62d4d52c2454e8d8c1ba8a8e54dc59d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUG91bERhaQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
  1. 点击配置,对工程项目进行配置

在这里插入图片描述

  1. 进行git源码绑定
  2. 构建触发机制
    选择轮询SCM定时触发即可
    注意:定时构建和轮询SCM的区别
    相同点:定时构建和轮询SCM都是按时间轮询触发。
    不同点:轮询SCM构建时会对比git源码是否有变化,若不存在变化,不进行构建,定时构建则不会判断git源码是否有变化,直接构建。
  3. 进行构建操作
    构建时选择maven构建,并输入构建命令
    dependency:purge-local-repository clean compile sonar:sonar
    在这里插入图片描述

注意:dependency:purge-local-repository 是为了删除本地依赖,防止存在依赖缓存

  1. 构建完成后发送email

在构建后操作选择Enable Email Eotification,设置邮件推送
在这里插入图片描述

具体设置详情如下
在这里插入图片描述
在这里插入图片描述

使用外部插件sonar scanner 进行检测提交

  1. Jenkins 安装sonar scanner 插件

通过系统管理→管理插件→可选插件,搜索选择sonar scanner,下载指定插件。
在这里插入图片描述

  1. 系统配置sonar信息

在系统管理-全局工具配置中配置sonarcanner工具

通过系统管理-系统设置进行sonarqube数据信息设置
在这里插入图片描述

Sonarqube获取token可以在sonarqube个人中心获取,如下:
在这里插入图片描述

  1. 构建自动化工程

构建自动化工程与maven构建步骤基本一致,只需要在构建时注意添加sonar扫描配置
在这里插入图片描述

配置信息描述如下

#sonar项目key值
sonar.projectKey=cn.rivamed.spd:spd-bdm
#sonar项目名称
sonar.projectName=cn.rivamed.spd:spd-bdm
#sonar项目源码类型
sonar.language=java
#javajdk版本
sonar.java.source=1.8
# sornar登录账号
sonar.login=admin
# sornar登录密码
sonar.password=123456
#源码路径
sonar.sources=$WORKSPACE
#源码字节流路径
sonar.java.binaries=$WORKSPACE 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值