`
huangjinjin520
  • 浏览: 70148 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SonarQube代码质量扫描持续集成

阅读更多
1、安装JDK和配置JAVA_HOME和CLASSPATH
2、安装mysql数据库
3、创建数据库和用户
mysql -u root -p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
4、下载sonarqube
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.4.zip
unzip sonarqube-5.4.zip
vi /etc/profile
SONAR_HOME=/usr/jenkins/sonarqube-5.4
export SONAR_HOME
    source /etc/profile
5、配置sonarqube
在sonarqube解压包下编辑conf/sonar.properties文件,该文件中所有注释掉的数据库连接模板都是支持的,只需要去掉注释更改为自己的数据库连接即可,同时将默认的自带数据库连接注释去掉。
一般需要配置以下属性(这里使用MySQL数据库,数据库的引擎必须是innodb):
vi /usr/jenkins/sonarqube-5.4/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5
sonar.jdbc.minIdle=2
sonar.jdbc.maxWait=5000
sonar.jdbc.minEvictableIdleTimeMillis=600000
sonar.jdbc.timeBetweenEvictionRunsMillis=30000
sonar.web.host=0.0.0.0
#修改snoar端口,默认为9000
sonar.web.port=9090
6、启动sonarqube服务
    /usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh console 启动服务
    /usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh start 启动服务
/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh stop 停止服务
/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh restart重启服务
启动成功后在浏览器地址栏输入http://localhost:9090即可访问snoarQube。
缺省用户名和密码是admin/admin
7、汉化sonarqube
https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/
安装目录:$SONAR_HOME/extensions/plugins
wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.9/sonar-l10n-zh-plugin-1.9.jar
8、在jenkins平台上安装插件SonarQube Scanner for Jenkins
9、在jenkins配置SonarQube



如果设置为5.3 or higher选择,就必须使用sonarQube account token进行连接,这个更安全。
Server authentication token项需要在sonar server端生成 ;访问sonar server端
菜单==》配置==》权限==》用户==》TOKENS==》Generate 生成token,将生成token添加到此处,完成添加。



10、下载安装和配置sonar scanner
https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/
wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip
vi /home/jenkins/.bash_profile
SONAR_RUNNER_HOME=/usr/local/jenkins/sonar-scanner-2.8/
export PATH=$SONAR_RUNNER_HOME/bin:$PATH
source /home/jenkins/.bash_profile
测试是否安装sonner scanner成功
输入命令:sonar-runner -version出现以下信息,则表示环境变量设置成功




vi conf/sonar-scanner.properties
#Configure here general information about the environment, such as SonarQube DB details for example
#No information about specific project should appear here
#----- Default SonarQube server
sonar.host.url=http://localhost:9090
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
#----- Global database settings (not used for SonarQube 5.2+)
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
11、在jenkins中配置sonar scanner
系统管理–》Global Tool Configuration



12、项目中添加sonar scanner分析
13、要让jenkins编译完成,自动将代码传给sonarqube进行分析,则要配置jenkins中的目标项目。
选择自己的project==》配置==》add pre-build step



14、遇到的问题
在项目源码根目录执行命令时,可能会有svn错误,因为当sonar扫描的时候,会因为无法访问.svn而扫描失败,在sonar平台中用admin登录后,点击‘配置’-‘SCM’,如下图:




关注公众号获取海量视频




  • 大小: 39.9 KB
  • 大小: 49.8 KB
  • 大小: 36.8 KB
  • 大小: 33.8 KB
  • 大小: 43.3 KB
  • 大小: 51.8 KB
  • 大小: 35.7 KB
0
0
分享到:
评论

相关推荐

    代码质量管理SonarQube实现Objective C静态代码扫描环境搭建总结

    ### 代码质量管理:SonarQube 实现 Objective C 静态代码扫描环境搭建 #### 一、前言 在软件开发过程中,代码质量的好坏直接影响到产品的稳定性和可维护性。为了确保代码质量,很多团队都采用了各种工具来进行代码...

    SonarQube代码质量管理平台

    SonarQube是一款强大的代码质量管理平台,专门设计用于检测、分析和报告软件代码的质量问题。它结合了静态代码分析和代码审查的特性,为开发团队提供了一种全面的方式来提升代码质量和安全性。SonarQube的核心目标是...

    代码质量扫描工具sonarqube-7.1,包含中文包

    在标签中,"sonar 代码质量扫描"强调了SonarQube的核心功能——代码质量扫描。SonarQube通过静态代码分析技术,无需编译或运行代码,就能检查出代码中的问题。这使得它可以在开发过程的早期发现问题,避免问题在后期...

    SonarQube代码质量管理

    4. **持续集成/持续部署(CI/CD)**:SonarQube可以与常见的CI/CD工具(如Jenkins、GitLab CI/CD、Azure DevOps等)集成,实现每次代码提交后自动进行分析,确保代码质量始终保持在一个较高的水平。 5. **项目仪表...

    jenkins持续集成sonar扫描代码

    ### Jenkins 持续集成与 SonarQube 代码质量扫描详解 #### 一、SonarQube 简介及核心价值 SonarQube 是一个强大的代码质量管理平台,旨在帮助开发团队确保代码的质量与可维护性。该平台不仅能够进行静态代码分析,...

    sonarqube jenkins svn maven代码质量检查.pdf

    根据提供的文件信息,本文将深入解析SonarQube、Jenkins、SVN以及Maven在代码质量检查中的集成应用。 ### SonarQube SonarQube是一个开源的代码质量管理系统,它不仅提供了质量报告的功能,更是一个全面的代码质量...

    SONARqube+JIRA集成

    集成Sonarqube和JIRA后,每次Sonarqube完成代码扫描,都会在JIRA中创建或更新相应的任务,这样,开发团队可以实时了解到代码质量状况,及时修复问题,提高整体代码质量。这种集成不仅提高了工作效率,也增强了团队对...

    Gitlab提交代码时使用SonarQube扫描代码安装过程

    Gitlab与SonarQube的集成是实现持续集成/持续部署(CI/CD)过程中的一个关键步骤,它有助于在代码提交时自动进行代码质量检查,确保代码符合预设的编码规范,降低潜在的缺陷和漏洞。下面我们将详细介绍如何在Gitlab中...

    sonarqube,连续代码质量.zip

    通过持续集成,SonarQube可以在开发过程中实时提供代码质量反馈,帮助团队发现并修复问题,提升代码的可读性和可维护性。 **SonarQube工作原理** SonarQube的工作流程主要包括扫描、分析和报告三个阶段。首先,...

    SonarQube和SonarScanner(zip包)

    SonarQube与SonarScanner是Java开发领域中用于代码质量管理的重要工具,它们共同构建了一个强大的静态代码分析和持续代码审查平台。这个平台的主要目标是帮助开发者发现并修复代码中的潜在问题,提升软件的可靠性...

    sonarqube质量分析工具

    7. **集成能力**:SonarQube可以轻松地与持续集成/持续部署(CI/CD)工具(如Jenkins、GitLab CI/CD等)集成,实现自动化质量检查,确保每次代码提交都符合预设的质量标准。 8. **插件扩展**:SonarQube支持各种插件...

    SonarQube集成jenkins搭建手册

    SonarQube是一款强大的代码质量管理工具,用于检测代码中的潜在缺陷、漏洞和代码异味,以...通过详细阅读《SonarQube代码质量管理平台搭建手册.doc》文档,你可以获取更具体的步骤和配置细节,进一步优化你的集成流程。

    SonarQube扫描NDK编译的C/C++项目

    7. **持续集成**:为了确保每次代码提交后都能及时检查质量,可以将SonarQube扫描集成到CI/CD流程,如Jenkins或Travis CI。 通过SonarQube扫描NDK项目,开发者可以发现潜在的内存泄漏、未初始化的变量、不安全的...

    SonarQube4.5.4_part2

    1. **静态代码分析**:SonarQube可以对多种编程语言(如Java、C#、Python等)进行源代码扫描,检测出潜在的bug、代码异味(Code Smell)、漏洞和复杂性等问题,帮助开发者提升代码质量。 2. **度量和可视化**:...

    静态代码质量分析工具sonarqube-8.9.6.50800.zip

    4. **持续集成**:SonarQube可以与CI/CD工具如Jenkins、GitLab CI/CD等集成,确保每次代码提交后都能进行质量检查。 在SonarQube 8.9.6.50800这个版本中,可能包含以下改进: - **性能提升**:优化了分析速度,减少...

    SonarQube使用手册.zip

    SonarLint是一款轻量级的代码质量检查工具,它可以集成到IDE如Eclipse和IntelliJ IDEA中,实现实时的代码扫描。在Eclipse中,首先需要安装SonarLint插件,然后配置SonarQube服务器地址,这样Eclipse就能在编写代码时...

    持续集成、交付和部署:对方法、工具、挑战和实践的系统回顾.pdf

    自动化测试工具(如Selenium, JUnit等)支持连续测试的实施,而代码质量分析工具(如SonarQube, Checkstyle等)帮助识别潜在的缺陷和违反编码标准的行为。 部署自动化工具(如Ansible, Chef, Puppet等)在部署过程...

    SonarQube集成指南

    GitLab CI/CD集成SonarQube,可以将代码质量检查作为持续集成的一部分,确保每次构建或部署前,代码质量都符合标准。GitLab Runner负责执行SonarScanner的分析任务。 在部署SonarQube时,可能遇到证书问题,需要...

    sonarqube-developer-9.2.4.50792.zip

    1. **代码质量分析**:SonarQube支持多种编程语言,如Java、Python、C#、JavaScript等,它通过扫描源代码来识别潜在的问题,如复杂度过高、重复代码、未使用的变量等。 2. **规则库**:SonarQube内置了丰富的编码...

    sonarqube7.0

    总结来说,SonarQube 7.0作为一个强大的代码质量管理平台,为开发团队提供了全面、深度的代码分析能力,有助于提升代码质量和安全性,推动持续改进的DevOps文化。通过下载和安装sonarqube-7.0压缩包,开发者可以开始...

Global site tag (gtag.js) - Google Analytics