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. TortoiseGit - 版本回退

    1.show log 2.点击左上角的master,选择远程的master分支 3.右击需要回退到的目标点,选择 Reset "master" to this ... 选择 Har ...

  2. ural 1091. Tmutarakan Exams(容斥原理)

    1091. Tmutarakan Exams Time limit: 1.0 secondMemory limit: 64 MB University of New Tmutarakan trains ...

  3. photoshop的页面制作练习1

  4. iOS中控制器的释放问题

    iOS中控制器的释放问题 ARC工程是可以重写dealloc方法并被系统调用的,但不需要手动调用父类的dealloc,手写[super dealloc]方法会报错,事实上系统会自动帮你调用父类的dea ...

  5. windows禅道环境搭建

    zentao官网的几个网址 http://www.zentao.net/ http://www.zentao.net/article-view-79863.html   搭建环境需要下载两个文件 1) ...

  6. Student s = new Student();在内存中做了哪些事情?

    [Student s = new Student();在内存中做了哪些事情?] 1加载Student.class文件进内存 2在栈内存为s开辟空间 3在堆内存为学生对象开辟空间 4对学生对象的成员变量 ...

  7. shape的使用

    android在布局边缘位置处理圆角的两个办法: 1),一个是直接让美工切一张带有圆角的图片. 2),使用shape来解决. 第一种不在赘述,主要讲一下第二中方法来实现. 上边缘出现圆角,下边缘正常的 ...

  8. android 优化

    1. 使用原生Sqlite语句进行增删改查的操作,而不是使用ContentProvider来封装操作. 2. 对于需要一次性修改多个数据时,可以考虑使用SQLite的事务方式批量处理.

  9. point类型·

    指针的类型 不同类型的指针,从内存需求的观点来说,没有什么不同!他们三个都需要足够的内存来繁殖一个机器地址,"指向不同类型之各指针"之间的差异,既不在其指针表示法不同,也不再其内容 ...

  10. 交互式shell和非交互式shell的区别

    交互式模式就是shell等待你的输入,并且执行你提交的命令.这种模式被称作交互式是因为shell与用户进行交互.这种模式也是大多数用户非常熟悉的:登录.执行一些命令.签退.当你签退后,shell也终止 ...