SonarQube代码质检:1.提交代码-->gitlab-->jenkins抓取-->sonarqube质量检测-->maven编译-->shell-->web集群-->重载服务

SonarQube服务安装
    [root@sonarqube ~]# yum install java -y
    [root@sonarqube ~]# yum localinstall mysql-community-*.rpm -y
    [root@sonarqube ~]# systemctl start mysqld
    [root@sonarqube ~]# mysql
        mysql> create database sonar charset utf8;
    [root@sonarqube ~]# unzip sonarqube-7.0.zip -d /usr/local/
    [root@sonarqube ~]# ln -s /usr/local/sonarqube-7.0/ /usr/local/sonarqube

#配置sonar连接mysql数据库
    [root@sonarqube ~]# vim  /usr/local/sonarqube/conf/sonar.properties

#启动sonar
    [root@sonarqube ~]# useradd sonar
    [root@sonarqube ~]# chown -R sonar.sonar /usr/local/sonarqube
    [root@sonarqube ~]# chown -R sonar.sonar /usr/local/sonarqube-7.0/
    [root@sonarqube ~]# su - sonar -c "/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start"

默认访问的url   http://IP:9000
    用户:admin
    密码:admin
    jenkins: b90b5d70562485f00caeb326a63d496af7aeaf3f    这号码可以生成
    导入插件    
    [root@sonarqube ~]# tar xf sonar_plugins.tar.gz        
    [root@sonarqube ~]# rm -f /usr/local/sonarqube/extensions/plugins/*
    [root@sonarqube ~]# cp -rp  plugins/* /usr/local/sonarqube/extensions/plugins/
    重载服务
    [root@sonarqube ~]# su - sonar -c "/usr/local/sonarqube/bin/linux-x86-64/sonar.sh restart"

如何检测代码:

1.安装sonar-scanner 客户端--->    谁要实现推送代码质检,就在谁上面安装
        [root@jenkins ~]# unzip sonar-scanner-cli-4.0.0.1744-linux.zip -d /usr/local/
        [root@jenkins ~]# ln -s /usr/local/sonar-scanner-4.0.0.1744-linux/ /usr/local/sonar-scanner

2.配置sonar-scanner
    [root@jenkins ~]# vim  /usr/local/sonar-scanner/conf/sonar-scanner.properties
    sonar.host.url=http://sonar.oldxu.com:9000
    sonar.login=b90b5d70562485f00caeb326a63d496af7aeaf3f
    sonar.sourceEncoding=UTF-8
    
    
3.配置hosts解析
    [root@jenkins ~]#  cat  /etc/hosts
        10.0.0.110 gitlab.oldxx.com
        10.0.0.130 sonar.oldxx.com

4.进入代码目录执行客户端检测命令
    /usr/local/sonar-scanner/bin/sonar-scanner \
      -Dsonar.projectKey=php \
      -Dsonar.sources=.
    
    mvn sonar:sonar \
      -Dsonar.host.url=http://sonar.oldxx.com:9000 \
      -Dsonar.login=65e35ff20a89bf3d05b94b1c693b326290337b6c

7.Jenkins配置项目集成SonarQube

----------------------------------------------------------
Sonarqube--------------------->

服务端:
    1.安装sonarqube
    2.配置sonarqube连接数据库
    3.启动sonarqube
    4.访问sonarqube
    5.配置sonarqube的token
    6.导入插件 ( 专用用于检测  java  python  go 语言插件   中文插件)

客户端:   jenkins
    1.解压,软连接
    2.配置客户端,告诉客户端服务端是谁
    3.在客户端上配置Host解析--->指向服务端
    4.测试代码质量检测
        1.使用sonar-scanner 扫描 纯html的代码
        2.使用mvn 扫描 纯java的代码
        ................

jenkins
    1.jenkins安装集成sonarqube的插件
    2.告诉jenkins  sonarqube服务端地址以及token
    3.告诉jenkins  sonar-scanner客户端所在的路径
    4.maven项目集成sonarqube   (pre setup 配置)

git jenkins SonarQube手动代码质检的更多相关文章

  1. 持续集成工具之jenkins+sonarqube做代码扫描

    上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...

  2. jenkins+sonarqube进行代码质量检测

    JavaNeverGiveUp教程篇 用jenkins+sonarqube去检查代码是非常方便的,它能检查出代码中可能存在的一些问题,比如io流未关闭.空指针异常.死循环.代码不规范等问题. 1. 搭 ...

  3. git+jenkins jar包代码的发布加新建项目

    1.本地仓库  java开发 把代码上传上来 ,问一下他要上传到的主机ip , 分支 2.本地 , 设置-->仓库 更新数据,让他同步到南阳gitlab, 若没有这个项目,需要创建相同名字的项目 ...

  4. 自动代码质量分析(GitLab+JenKins+SonarQube)

    自动代码质量分析(GitLab+JenKins+SonarQube) 1.需求场景 开发提交代码自动执行代码质量分析. 2.所需应用 GitLab,JenKins,SonarQube 3.架构图 4. ...

  5. GIt+jenkins代码自动上线

    代码自动上线功能 企业部署代码上线是件比较麻烦的事情,还好我们有jenkins这个持续集成的软件可以帮助我们做很多的事情,现在我们就 来测试用jenkins推送代码上线. 我们这里测试的是一个html ...

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

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

  7. jenkins实现手动选择分支构建项目-Git Paramater

    先下载插件: Git Paramater 参照: jenkins-参数化构建(三)插件:Git Parameter https://www.cnblogs.com/zhaojingyu/p/98624 ...

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

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

  9. 在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查

    不乱于心,不困于情,不畏将来,不念过往,如此安好 --<不宠无惊过一生>丰子恺 概述 关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章: 在 k8s 中 ...

随机推荐

  1. [C++] 访问控制与继承详解

      1.访问控制中有三种角色:基类及其友元,派生类,类用户(对象):访问说明符分为public/protected/private,类的成员也相应的分为了3种.   2.访问说明符又分为两种:一个是基 ...

  2. Java设计模式 - 单例模式(创建型模式)

    单例模式我在上学期看一些资料时候学习过,没想到这学期的软件体系结构就有设计模式学习,不过看似篇幅不大,介绍得比较简单,在这里我总结下单例模式,一来整理之前的笔记,二来也算是预习复习课程了. 概述 单例 ...

  3. 【Django】一对多表结构

    1.创建project数据库表 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.co ...

  4. FILETIME类型到LARGE_INTEGER类型的转换

    核心编程第5版 245页到247页的讲到SetWaitableTimer函数的使用 其中提到 FILETIME类型到LARGE_INTEGER类型的转换问题,如下代码 //我们声明的局部变量 HAND ...

  5. APP设计与开发(ui篇)

    这篇文章是我个人在开发与设计APP的所用的一些设计思路,仅用于和大家分享知识并不是什么设计标准之类的.主要说明App的开发中是如何来开发与组织UI部分. UI模块结构 在项目中建立ui包用于存放ui类 ...

  6. rpm,yum

    rpm RedHat Package Manager软件包管理器的核心功能:1.制作软件包2.安装.卸载.升级.查询.校验.数据库的重建.验证数据包等工作 安装: rpm -i    /PATH/TO ...

  7. MongoDB安装过程中出现service MongoDB failed to start,verify that you have sufficient privileges to start...

    win10系统下,安装MongoDB 64位, service MongoDB failed to start,verify that you have sufficient privileges t ...

  8. 两小无猜的爱恨情仇--java =+和+=揭秘

    故事背景 当一个人问另一个人“敢不敢”的时候,另一个人必须说“敢”,这就是游戏的规则.小男孩朱利安和小女孩苏菲的相遇即开始于这样一场孩童的闹剧,一个精美的铁盒子就是他们游戏的见证.说脏话,扰乱课堂,在 ...

  9. MongoDB 学习笔记之 $push,$each,$slice组合使用

    $push使用: 使用$push给数组添加2个新成员 db.ArrayTest.updateOne({ "name" : "Bill"},{$push: {&q ...

  10. 再探vue

    1. vue项目搭建 搭建vue环境需要安装node软件,node是由c++编写而成,主要运行js文件或者js代码的,安装node会自动安装一个管理器叫npm,建议换源下载,国外的网站较慢(比如cnp ...