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. windows导出文件名列表

    新建txt文件,粘贴以下命令: DIR *.*  /B >LIST.TXT 将txt文件的后缀改为.bat 执行bat文件即可

  2. 云原生生态周报 Vol. 21 | Traefik 2.0 正式发布

    作者 | 浔鸣.心水.元毅.源三.衷源 业界要闻 CNCF 计划将 TOC 升至 11 人 技术监督委员会(TOC)是 CNCF 的三大核心管理机构之一,从 2020 年 1 月起,TOC 将从 9 ...

  3. jenkins上下游工程以及空间占用处理

    1.最近项目架构调整,把十几个java项目整合为一个大的项目,这样构建上游工程成功后下游工程会自动构建 解决如下:取消这个勾选即可 2.构建单个项目时,会把所有子工程都打包一次 解决如下:指定构建时的 ...

  4. C++进程间通讯方式

    1.剪切板模式. 在MFC里新建两个文本框和两个按钮,点击发送按钮相当于复制文本框1的内容,点击接收按钮相当于粘贴到文本框2内: 发送和接收按钮处功能实现如下: void CClipboard2Dlg ...

  5. Android Studio [RecyclerView/瀑布流显示]

    PuRecyclerViewActivity.java package com.xdw.a122.recyclerview; import android.support.v7.app.AppComp ...

  6. Angular 常用命令行

    1. ng -v 查看angular-cli是否安装成功.angular-cli的版本号 2. ng new 项目名称 新建angular项目 3. ng g class 类名 动态生成类文件: 4. ...

  7. Win10下80端口被System占用导致Apache无法启动

    Windows10下80端口被PID为4的System占用导致Apache无法启动的分析与解决方案 方法/步骤     最近更新了Windows10,总体上来说效果还是蛮不错的,然而今天在开启Apac ...

  8. [Machine learning] Logistic regression

    1. Variable definitions m : training examples' count \(X\) : design matrix. each row of \(X\) is a t ...

  9. Redis开发与运维:数据迁移

    问题 最近项目重构,提前想把一台上的redis实例转移到另一台redis实例上. 源redis数据库:阿里云Redis.VPC网络.Server版本2.8.19 目标数据库:阿里云Redis.VPC网 ...

  10. Flutter学习笔记(29)--Flutter如何与native进行通信

    如需转载,请注明出处:Flutter学习笔记(29)--Flutter如何与native进行通信 前言:在我们开发Flutter项目的时候,难免会遇到需要调用native api或者是其他的情况,这时 ...