打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Jenkins+SonarQube实现Python项目静态扫描
时间主题
8.27(周二)14:00 基于用户故事地图的测试用例设计
8.27(周二)20:00基于用户故事地图的测试用例设计
8.28(周三)20:00python+Jenkins+Sonar持续集成
在DevOps理念中,CI/CD毫无疑问是最重要的一环,而代码质量检查则是CI中必不可少的一步。在敏捷开发的思想下,代码的迭代周期变短,交付速度提升,这个时候代码的质量就很难保证。
测试只能保证功能完整与可用,而代码的质量纯靠review的话效率又很低,这个时候SonarQube就可以很好的帮助开发自动化检测代码质量,降低bug数量,也可以根据扫描结果养成良好的编程习惯,同时也可以减少测试的工作量,真正提升整个团队效率,实现DevOps理念。
在上周六与本周三的复习课程中,芒果就带大家学习了怎么使用SonarQube来做Python项目的代码扫描工作,以及怎么使用Jenkins和SonarQube集成,这里我们做个小总结。
SonarQube介绍
Sonar(SonarQube)是一个开源平台,用于管理源代码的质量,它不仅是一个质量数据报告工具,更是代码质量管理平台。它通过插件的形式来管理代码,它支持的语言包括:Java,Python,PHP,C#,C,JS等。
SonarQube的由以下四部分组成:
一个SonarQube Server
一个SonarQube Database
不同种类的SonarQube Plugins
一个或者多个SonarScanners
在持续集成中,sonar主要通过以下方式进行集成:
SonarQube的安装与配置
Sonarqube的安装比较简单,由于最新的7.9版本必须使用11以以上版本的JDK,所以我们这里使用7.7或者7.8版本。
Sonarqube的下载与安装:
#下载地址:
https://www.sonarqube.org/downloads/
#解压:
unzip sonarqube-7.7.zip
#启动:
windows:.\sonarqube\bin\windows-x86-64\StartSonar.bat
其他平台:sonarqube/bin/linux-x86-64/sonar.sh console
#访问:
http://127.0.0.1:9000
#登录(默认管理用户用户名、密码):
admin/admin
Sonarqube的配置:
#新建sonar用户(sonar使用root用户启动会失败):
useradd sonar
passwd sonar
chown -R sonar.sonar sonarqube/
su sonar
#创建sonar数据库:
CREATE DATABASE sonar DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON sonar.* TO 'root'@'%';
FLUSH PRIVILEGES;
#配置sonar server(vi conf/sonar.properties ):
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
#配置sonar wrapper(vi conf/wrapper.conf):
wrapper.java.command=/usr/java/jdk1.8.0_172/bin/java
Sonar Scanner作为安装在构建或者持续集成服务器上的扫描工具,通过扫描代码,上传扫描结果给Sonar Server 以显示结果。
Sonar Scanner安装:
#下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
#配置sonar-scanner(vi conf/sonar-scanner.properties):
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
#将sonar scanner添加到环境变量(vi /etc/profile ):
export SONAR-SCANNER_HOME=/usr/sonar-scanner
export PATH=$ SONAR-SCANNER_HOME /bin:$PATH
#更新环境变量:
source /etc/profile
安装好Sonar Scanner就可以在该主机上进行对应项目的静态扫描工作。要想列出已经下载下来的镜像,可以使用 docker image ls 命令。
Jenkins与SonarQube的持续集成通过Jenkins使用的Sonar Scanner插件可以构建自动化的项目代码扫描计划,并将扫描结果反馈给Sonar Server。
在安装好Sonar Scanner插件之后需要在Jenkins中添加Sonar Server相关配置:
并对构建服务器上Scanner进行配置:
接下来就可以在构建与部署任务之前添加一个扫描任务了:
手工构建或者等待构建触发器出发构建,就可以完成整个代码扫描任务。
当然Sonar的使用不仅仅如此简单,比如我们可以去添加自定义的扫描规则,因为篇幅原因,我们仅仅介绍以上部分,对于更多的内容,我们会在之后的文章进行更新。
周六Vip课程预告
本周六芒果将带大家继续TestOps测试运维Python专项课程,在对整个Django的开发、扫描、单测以及他们的容器化管理、持续集成有个认识之后,我们将学习Django项目的自动化测试环境。
每周六全天Vip课程,每周三晚免费课程总结及回顾答疑
TestOps|测试运维
精益技术 赋能过程
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
使用jenkins sonar进行代码扫描,并发送自定义邮件
配置SonarQube,Jenkins集成扫描Android项目
持续集成工具之jenkins+sonarqube做代码扫描
超详细,自动化测试接入Jenkins+Sonar质量门禁实践
SonarQube的安装、配置与使用
Linux中 SonarQube代码质量管理平台以及C++插件安装
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服