Sonarquber之Gerrit构建后自动发送邮件

2021年09月15日 阅读数:12
这篇文章主要向大家介绍Sonarquber之Gerrit构建后自动发送邮件,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

 

软件简介

Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不仅是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。java

主要特色:git

  • 代码覆盖:经过单元测试,将会显示哪行代码被选中架构

  • 改善编码规则ide

  • 搜寻编码规则:按照名字,插件,激活级别和类别进行查询工具

  • 项目搜寻:按照项目的名字进行查询单元测试

  • 对比数据:比较同一张表中的任何测量的趋势测试

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件

架构图:ui

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_02

1.首先须要配置Gerrit Trigger 插件:编码

 

Sonarquber之Gerrit构建后自动发送邮件_sonarquber gerrit_03

2.进行配置:url

 

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_04

3.Gerrit调整配置,进行测试已经能够访问。

 

Sonarquber之Gerrit构建后自动发送邮件_sonarquber gerrit_05

4.插件安装完成够进行配置gerrit event。

 

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_06

5.配置Gerrit Project

 

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_07

6.检查Query

 

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_08

7.检查是否能够成功查看提交的代码。

 

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_09

8.发现已经提交代码后自动build。

 

Sonarquber之Gerrit构建后自动发送邮件_sonarquber gerrit_10

9.配置Sonar生成后的报告自动发送到邮箱;

 

Sonarquber之Gerrit构建后自动发送邮件_sonarquber gerrit_11

Sonarquber之Gerrit构建后自动发送邮件_sonarquber gerrit_12

10.调用GERRIT_PATCHSET_UPLOADER_EMALL 参数;

 

Sonarquber之Gerrit构建后自动发送邮件_sonar自动发送邮件_13

 

11. Shell 配置部分;

 

cd  /export/sonar-scanner/bin &&

./sonar-scanner -e -Dsonar.host.url=http://localhost:9000  -Dsonar.scm.disabled=true -Dsonar.language=java -Dsonar.projectName=ai-access -Dsonar.projectVersion=1.0.0 -Dsonar.projectKey=ai-access  -Dsonar.sources=/export/jenkins/workspace/ai-access  -Dsonar.projectBaseDir=/export/jenkins/workspace/ai-access  -Dsonar.java.binaries=target/sonar  -Dsonar.java.binaries=src -Dsonar.java.source=1.8

echo "SVN版本号:${SVN_REVISION}"

git --version

export LANG="zh_CN.UTF-8"

export LC_ALL="zh_CN.UTF-8"

sonar_url=http://192.168.180.251:9000/dashboard?id=ai-access

send1=lishilong@51cto.com

rm -f ${JOB_NAME}.pdf 

#邮件须要包含的内容写入临时文件
echo "${JOB_NAME}-第${BUILD_NUMBER}次代码扫描报告" > mail.txt
echo "项目名称 : ${JOB_NAME}" >> mail.txt
echo "构建编号 : 第${BUILD_NUMBER}次构建" >> mail.txt
echo "代码路径 : ${SVN_URL}" >> mail.txt
echo "代码路径 : ${WORKSPACE}" >> mail.txt
echo "构建日志 : ${BUILD_URL}consoleText" >> mail.txt
echo "构建Url : ${JOB_URL}" >> mail.txt

echo "SonarQube报告地址(点击浏览): ${sonar_url}" >> mail.txt
echo "SonarQube报告地址(点击浏览): ${sonar_url}" >> mail.txt

sudo mail -s "=?UTF-8?B?`echo ${JOB_NAME}第${BUILD_NUMBER}次代码扫描报告 | base64`?=" ${GERRIT_PATCHSET_UPLOADER_EMAIL} < mail.txt  ${sonar_url}
sudo mail -s "=?UTF-8?B?`echo ${JOB_NAME}第${BUILD_NUMBER}次代码扫描报告 | base64`?=" ${send1} < mail.txt  ${sonar_url}

 

配置完成;