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. java8 Date/Time API 新的日期处理工具

    接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Date/Time api 进行说明,新的日期时间工具全部都在 java.time 及其子包中. 新 ...

  2. Vue学习之todolist删除功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 关于java属性字段命名

    最近项目定义vo的时候,boolean类型数据定义成isProperty类型的,导致系统间数据交互过程中报错. 网上爬了良久: JavaBean命名规范里面规定,对于primitive和自定义类类型的 ...

  4. 【linux】【jenkins】自动化运维五 整合邮件提醒

    1.安装插件 Email Extension Template Plugin 安装教程参考:https://www.cnblogs.com/jxd283465/p/11542680.html 2.系统 ...

  5. MYSQL增删改查添加外键

    给商品表(从表)添加一个外键 ALTER TABLE product ADD CONSTRAINT FK_cno FOREIGN KEY(cno) REFERENCES category(cid  从 ...

  6. 给body设置高度

    今天做一个小demo,需要给body设置高度为100%,然鹅发现只设置body的height不可行,需,html,body{height:100%;}为何呢?一个容器的height是从上一级继承而来的 ...

  7. 将Jexus+mono和网站一起通过Dockerfile打包到docker镜像

    上次使用别人打包好的docker镜像,往里边加入文件,最终asp.net的docker容器化运行. 这次决定直接全新打包一个jexus+asp.net网站的docker包. 进入root目录,并在ro ...

  8. [Python]字典的简单用法

    Python中的字典与现实中字典类似,从字典中可以找到“鱼”字:鱼类是体被骨鳞.以鳃呼吸.通过尾部和躯干部的摆动以及鳍的协调作用游泳和凭上下颌摄食的变温水生脊椎动物.类比到Python的字典中,把“鱼 ...

  9. 升级@Scheduled-分布式定时任务

    最近我在对项目的定时任务服务升级,希望改造成分布式,原本是利用@Scheduled注解实现,然而它并不支持分布式,如果改成quartz或者Spring Cloud Task,感觉对于自己这个简单的项目 ...

  10. Hibernate教程 ---简单易懂

    1 web内容回顾 (1)javaee三层结构 (2)mvc思想 2 hibernate概述 3 hibernate入门案例 4 hibernate配置文件 5 hibernate的api使用 Hib ...