Jenkins+SonarQube 代码质量检查自动化

2,828 阅读2分钟
原文链接: www.jianshu.com
  1. 基础概念百度百科:Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。前面[Sonarqube 代码质量管理平台搭建]-已搭建完成,如何让Sonarqube按照我们想要规律进行工作呢?就靠Jenkins啦。
  2. 安装Jenkins的安装很简单,官网提供的安装方式如下

    sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
    sudo yum install jenkins
    #启动/停止/重启命令
    sudo service jenkins start/stop/restart
    #设置自启动
    sudo chkconfig jenkins on

    需要有JAVA环境,此处略。访问:http://ip:8080/配置文件:/etc/sysconfig/jenkinsJENKINS_HOME="/var/lib/jenkins"JENKINS_PORT="8080"

    /var/lib/jenkinsJenkins所有配置和所有操作存放的位置Jenkins迁移/备份 这个目录即可

    jenkins work.jpg
  3. 安装sonar插件

    管理插件.jpg
    插件安装.jpg

    查找sonar-勾选-直接安装,安装好了如下

    已安装.jpg
  4. sonarqube 配置系统管理-系统设置添加Sonar runner/usr/local/quality/sonar-runner-2.4/如该目录下需要有./bin/sonar-runner 文件添加SonarQube

    sonar.jpg
    sonar配置成功.jpg
  5. 构建项目新建项目-部分略定时任务-略
    Invoke Standalone SonarQube Analysis.jpg
    在Analysis properties中输入检查规则,以下是运用多个检查项的规则
    #required metadata
    #projectKey项目的唯一标识,不能重复。
    sonar.projectKey=chances_cms
    #projectName值不能是中文,否则web页面部分是乱码
    sonar.projectName=chances_cms
    sonar.projectVersion=4.0
    sonar.sourceEncoding=UTF-8
    sonar.modules=java-module,javascript-module,html-module,CSS-module
    # Java module
    java-module.sonar.projectName=chances_cms_java
    java-module.sonar.language=java
    # .表示projectBaseDir指定的目录
    java-module.sonar.sources=src
    java-module.sonar.projectBaseDir=.
    #sonar.binaries=classes
    # JavaScript module
    javascript-module.sonar.projectName=chances_cms_js
    javascript-module.sonar.language=js
    javascript-module.sonar.sources=webapp
    javascript-module.sonar.projectBaseDir=.
    # Html module
    html-module.sonar.projectName=chances_cms_html
    html-module.sonar.language=web
    html-module.sonar.sources=webapp
    html-module.sonar.projectBaseDir=.
    # CSS module
    CSS-module.sonar.projectName=chances_cms_css
    CSS-module.sonar.language=css
    CSS-module.sonar.sources=webapp
    CSS-module.sonar.projectBaseDir=.
  6. 执行构建
    执行构建.jpg
    构建成功后,会自动将检查结果导入sonarqube的数据库中
    结果展示.jpg