ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jenkins+SonarQube代码审查(回忆不能抹去,只好慢慢堆积。岁月带你走上牌桌,偏偏赌注是自己。)

2022-02-18 09:31:07  阅读:223  来源: 互联网

标签:SonarQube 牌桌 192.168 sonarqube sonar Jenkins 代码


Jenkins+SonarQube代码审查 - 安装SonarQube SonaQube简介 SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前  支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检   测,底层使用elasticsearch作为代码检索工具。 官网:https://www.sonarqube.org/ 环境要求
软件 服务器 版本
jdk 192.168.153.20 1.8
mysql 192.168.153.20 5.7
SonarQube 192.168.153.20 6.7.4
  安 装 SonarQube         1)安装MySQL(已完成)abc123 2)安装SonarQube 在MySQL创建sonar数据库   下载sonar压缩包: https://www.sonarqube.org/downloads/ 解压sonar,并设置权限 yum install unzip  (已装) unzip sonarqube-6.7.4.zip 解压 mkdir /opt/sonar 创建目录 mv sonarqube-6.7.4/* /opt/sonar 移动文件 useradd sonar 创建sonar用户,必须sonar用于启动,否则报错 chown -R sonar.  /opt/sonar  更改sonar目录及文件权限修改sonar配置文件 vi /opt/sonarqube-6.7.4/conf/sonar.properties 内容如下: sonar.jdbc.username=root sonar.jdbc.password=abc123 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar? useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs= maxPerformance&useSSL=false   (取消注释即可)

 

注意:sonar默认监听9000端口,如果9000端口被占用,需要更改。 启动sonar(注意:切换sonar用户) cd /opt/sonar su sonar ./bin/linux-x86-64/sonar.sh start 启动 su sonar ./bin/linux-x86-64/sonar.sh status 查看状态 su sonar ./bin/linux-x86-64/sonar.sh stop 停止 tail -f logs/sonar.logs 查看日志访 问 sonar http://192.168.153.20:9000   默认账户:admin/admin 创建token进log in ww: 07670ec186e7ebcdfccbec4f7477fdd6792d7110(和Jenkins整合会使用此密钥) token要记下来!!!   Jenkins+SonarQube代码审查- 实现代码审查 安装SonarQube Scanner插件  

 

 

 

安装SonarQube 添加SonarQube凭证           Jenkins进行SonarQube配置 Manage Jenkins->Configure System->SonarQube servers

 

 

      在项目添加SonaQube代码审查(非流水线项目) 以自由风格为例:打开web_demo_freestyle

 

 

 

 

 

 

直接构建 在sonarqube服务器上刷新,查看结果 测试错误代码 新建Java和resource目录 配置pom.xml文件添加对servlet的依赖

 

 

 

新建编写Servlet文件

 

 

 

代码提交

 

 

进行构建测试结果 解决方法:  

 

再次提交项目 代码检查后,发现问题 发现代码BUG和未使用变量等问题   在项目添加SonaQube代码审查(流水线项目) 1) 项目根目录下,创建sonar-project.properties文件 2) 修改Jenkinsfile,加入SonarQube代码审查阶段 pipeline {     agent any       stages {         stage('pull code') {             steps {                 checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: '1be38991-873b-4a68-8eb6-312347fdc0a4', url: 'git@192.168.195.180:kgc_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('publish project') {             steps {                 deploy adapters: [tomcat8(credentialsId: 'd8b013fd-7545-43c0-83b3-6dbbf584887c', path: '', url: 'http://192.168.195.182:8080/')], contextPath: null, war: 'target/*.war'             }         }     }     post {             always {                emailext(subject: '构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',body: '${FILE,path="email.html"}', to: '13951868284@139.com')             }     } } 把更改后的sonar-project.properties和Jenkinsfile进行提交  

 

 开始构建web_demo_pipeline 查看检测结果 邮件通知也会收到

 

 

 

标签:SonarQube,牌桌,192.168,sonarqube,sonar,Jenkins,代码
来源: https://www.cnblogs.com/06080410z/p/15907259.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有