jenkins+sonarqube+php自动检测&发送邮件基本实现

1

目的

对于小组内部PHP代码进行定期检测及分发
1. 需要定期从svn 或者git拉取指定代码
2. 对代码库内部门模块进行隔离或者删除,不参与检测
3. 为小组内人员定期发送邮件,
4. 可分配具体bug 给具体小组内人员

jenkins安装及安装插件

1. sonar搭建可以参考 [之前文章:sonarqube For PHP 代码质量管理][1]
2. jenkins环境搭建:略过
3. jenkins 插件安装:略过
    - SonarQube Scanner for Jenkins
    - Localization: Chinese (Simplified)
    - Email Extension Template Plugin

效果图

  1. 首页有任务视图

    clipboard.png

  2. 视图执行

    clipboard.png

  3. 定时邮件发送

    clipboard.png

  4. 指定bug分配通知到指定人

    clipboard.png

  5. sonar notify

    clipboard.png

系统管理-系统设置(全局设置和路径)

  1. sonar配置
    clipboard.png
  2. 基本配置
    clipboard.png
  3. 邮件插件配置
    clipboard.png
  4. 默认邮件配置
    clipboard.png

我的视图-具体项目配置

  1. 构建选项及工作空间等设置

    clipboard.png

  2. 源码管理(git svn 等任君配)

    clipboard.png

  3. 定时功能(可以点击蓝问号)

    clipboard.png

  4. pull代码后剔除无关代码

    clipboard.png

  5. 执行sonar配置,与cli 执行sonar的properties文件一致,-X为debug模式

    clipboard.png

  6. 邮件内容配置,我此处只是把固定项目的sonar 地址写在邮件里,可以选择增加附件(attachments),也可以增加模版(templates)

    clipboard.png

sonarqube中通知(notification)配置

  1. 创建用户(组)

    clipboard.png

  2. 分配项目,提醒
    clipboard.png
  3. 设置关注项目及事件

    clipboard.png

  4. 分配给具体人

    clipboard.png

自动化

图片描述

rm -rf /

cd /var/lib/jenkins/workspace/sonar_svn_trunk/cctrunk
rm -rf assets
rm -rf css
rm -rf js
rm -rf template
rm -rf images
rm favicon.ico
rm robots.txt
cd /var/lib/jenkins/workspace/sonar_svn_trunk/trunk/app/libraries
ls |grep -v platform | xargs  rm -rf
cd /var/lib/jenkins/workspace/sonar_svn_trunk/trunk/app
rm -rf third_party
rm -rf views
rm -rf language
find . -name 'index.html' | xargs rm -rf
find . -name '*.pem' | xargs rm -rf
find . -name '*.conf' | xargs rm -rf
sonaradmin@es_master:/usr/local/sonar/sonarqube-7.3/bin/linux-x86-64$ ./sonar.sh start

一些问题

  1. svn 鉴权失败。由于sonar拉取有.svn文件会自动拉取。那么需要在sonar后台关闭这个选项
    图片描述
  2. sonar中文插件
    图片描述
  3. Error sending to the following VALID addresses:
    保持账户拥有者和发送邮件smpt一致
  4. because your SCM claimed this was associated with a user ID *
    Manage Jenkins -> Configure System -> Extended E-mail Notification

    clipboard.png

你可能感兴趣的

载入中...