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

Jenkins+SonarQube代码质量检查自动化的更多相关文章

  1. sonar+Jenkins 构建代码质量自动化分析平台

    1.Sonar 介绍 Sonar 是一个用于管理代码质量的开源工具,可以分析代码中的bug和漏洞以及Code Smells,支持20多种编程语言的检测,如java,c/c++,python,php等语 ...

  2. 使用jenkins SonarQube gitlab 构建自动化发布系统

    目前持续集成的生态越来越完善,工具也有很多,开源的或商业的.如: 最最流行的,也是使用最多的 Jenkins 有着持续集成DNA的ThoughtWorks GO.理念:"Deployment ...

  3. jenkins sonarqube 代码检测

    #jenkins插件: SonarQube Scanner #Jenkins配置 Task to run:scan #Analysis properties: sonar.projectKey=ser ...

  4. jenkins sonarqube 代码检测部署

    install pgsql and sonarqube docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWO ...

  5. sonarqube代码质量检查简单使用说明

    本文翻译自sonarqube官网文档,原地址为:https://docs.sonarqube.org/latest/architecture/architecture-integration/ 一,架 ...

  6. gitlab-ci集成SonarQube代码质量检查

    SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误. docker安装 1.拉取 postgres:docker pull postgres:10 2.拉取sona ...

  7. jenkins+sonarQube代码质量扫描 并排除指定的目录

    sonar.projectKey=dev1-news-paymentsonar.projectName=dev1-news-paymentsonar.projectVersion=$BUILD_NUM ...

  8. jenkins集成sonarQube实现代码质量检查

    1.sonarQube的简介 SonarQube是一款自动化代码审查工具,用于检测代码中的错误.漏洞和代码异味.它可以与你现有的工作流集成,以支持跨项目分支和拉取请求的连续代码检查. 其工作流程如下: ...

  9. Jenkins系列——使用SonarQube进行代码质量检查

    1.目标 之前已经写过一篇关于Jenkins和SonarQube的一篇博客<jenkins集成sonar>,本文在参考前文的基础上,做了详细的补充. 使用SonarQube进行代码质量检查 ...

随机推荐

  1. Gentoo安装详解(四)-- 声卡设置

    硬件检测 To choose the right driver, first detect the used audio controller. You can use lspci for this ...

  2. EXEC 和 SP_EXECUTESQL的区别

    摘要: MSSQL为我们提供了两种动态执行sql语句的命令:EXEC 和 SP_EXECUTESQL.通常SP_EXECUTESQL更具优势,因为它提供了输入输出的接口,且能够重用执行计划,大大提高执 ...

  3. Matlab中矩阵的平方和矩阵中每个元素的平方介绍

    该文章讲述了Matlab中矩阵的平方和矩阵中每个元素的平方介绍.   设t = [2 4 2 4] 则>> t.^2 ans = 4 164 16 而>> t^2 ans = ...

  4. 设计模式4 外观模式 FACADE

    一个外观是一个类,其提供的功能介于工具箱的功能和完整系统的功能之间,并为一个包或者一个子系统中的类提供了简化的使用方式.

  5. 711B - Chris and Magic Square 模拟

    题目大意:在num[i][j]==0处填一个数使每行,每列,对角线的和相同,若果有多种答案输出一种. 题目思路:模拟 #include<iostream> #include<algo ...

  6. web跨域问题

    环境: win7_x64旗舰版.Google Chrome-v44.0.2403.155.node-v0.10.29.express-v3.2.5.jQuery-v1.8.3 一.跨域GET: 客户端 ...

  7. redis------del命令

    删除 可以删除给定的一个或多个key; set keyname1  name1 set keyname2 name2 set keyname3 name3 del  keyname1  keyname ...

  8. python2.7学习记录之四

    1.从raw_input()读取的内容永远以字符串的形式返回,把字符串和整数比较就不会得到期待的结果,必须先用int()把字符串转换为我们想要的整型 2.list增加元素 为 append() 3.d ...

  9. SVN的学习以及使用!

    什么是版本控制? 版本控制是记录一个或若干文件内容变化的系统.以便将来查阅特定版本修订情况. 版本控制,就像是一本历史书,记录了软件版本的迭代过程. 为什么需要"版本控制" 需要清 ...

  10. 解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载

    解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载 当这两个头文件顺序颠倒时,编译会出现许多莫名其妙的错误,错误如下: 1>…\include\ws2def.h( ...