栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Jenkins 持续集成环境构建九(SonarQube 代码审查)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins 持续集成环境构建九(SonarQube 代码审查)

文章目录

1. SonarQube 简介2. 安装 SonarQube

2.1 环境要求2.2 安装 MySQL2.3 在 MySQL 创建 sonar 数据库2.4 安装 SonarQube 3. Sonarqube 登录配置

3.1 登录 sonar3.2 创建 token 4. Sonarqube 代码审查配置

4.1 安装 SonarQube Scanner 插件4.2 安装 SonarQube4.3 添加 SonarQube 凭证4.4 Jenkins 进行 SonarQube 配置 5. 在项目添加 SonarQube 代码审查(非流水线项目)

5.1 添加代码审查步骤5.2 测试错误代码5.3 注意 6. 在项目添加 SonarQube 代码审查(流水线项目)

6.1 项目根目录下,创建 sonar-project.properties 文件6.2 修改 Jenkinsfile,加入 SonarQube 代码审查阶段6.3 把更改后的 sonar-project.properties 和 Jenkinsfile 进行提交6.4 修改 jdk 版本6.5 开始构建 web_demo_pipeline6.5 查看 sonarqube


1. SonarQube 简介


  SonarQube 是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持 java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy 等二十几种编程语言的代码质量管理与检测,底层使用 elasticsearch 作为代码检索工具。

官网:https://www.sonarqube.org/

2. 安装 SonarQube 2.1 环境要求
软件服务器版本
JDK192.168.10.301.8
MySQL192.168.10.305.7
SonarQube192.168.10.306.7.4
2.2 安装 MySQL

**参考:**
数据库简介与 Mysql 服务基础

需要远程连接授权

2.3 在 MySQL 创建 sonar 数据库
mysql -uroot -p123456
#-----------------------------------
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database sonar;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sonar              |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
2.4 安装 SonarQube

下载安装包

https://www.sonarqube.org/downloads/http://49.232.8.65/sonarqube/sonarqube-6.7.4.zip

解压 sonar,并设置权限

yum install unzip -y
unzip sonarqube-6.7.4.zip
mkdir /opt/sonar
mv sonarqube-6.7.4testtargettesttarget${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: '0b127895-eb97-4f8f-b471-1277e5549b54', url: 'git@192.168.10.20:test-group/web_demo.git']]])
            }
        }
        stage('code checking') {
            steps {
                script {
                //引入了 sonarqube-scanner 工具
                scannerHome = tool 'sonar-scanner'
                }
                //引入了 sonarqube 服务器系统环境
                withSonarQubeEnv('sonarqube') {
                sh "${scannerHome}/bin/sonar-scanner"
                }
            }
        }
        stage('build project') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('deploy item') {
            steps {
                deploy adapters: [tomcat8(credentialsId: '1cf9c5dd-8e2d-4eb6-8c00-bb60e0f027ca', path: '', url: 'http://192.168.10.40:8080/')], contextPath: null, war: 'target/*.war'
            }
        }
    }
    post {
        always {
            emailext(
            subject: '构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',body: '${FILE,path="email.html"}', to: '1520509800@qq.com'
            )
        }
    }
}
6.3 把更改后的 sonar-project.properties 和 Jenkinsfile 进行提交

6.4 修改 jdk 版本

和非流水线里面一样,需要修改 jdk 版本。

6.5 开始构建 web_demo_pipeline




6.5 查看 sonarqube



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号