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


     

      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/jenkins
        JENKINS_HOME="/var/lib/jenkins"
        JENKINS_PORT="8080"

        /var/lib/jenkins
        Jenkins所有配置和所有操作存放的位置
        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
  • 相关阅读:
    Oracel System.Data.OracleClient requires Oracle client software version 8.1.7 or greater错误的解决方法
    oracle中CASE 的用法(摘录)
    ajaxpro 的一些用法,是在vs.net2003上
    我所知道的web下的打印方法
    电容触摸技术实用教程
    BLE资料应用笔记 持续更新
    蓝牙BLE实用教程
    README
    android 应用笔记
    Git 教程
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5697021.html
Copyright © 2020-2023  润新知