首页 » 网站推广 » sonarphp代码扫描技巧_运用jenkins自动化SonarQube源码扫描

sonarphp代码扫描技巧_运用jenkins自动化SonarQube源码扫描

访客 2024-11-17 0

扫一扫用手机浏览

文章目录 [+]

1. 已安装JDK11

2. 已安装jenkins

sonarphp代码扫描技巧_运用jenkins自动化SonarQube源码扫描

3. 节制SonarQube源码扫描工具的基本利用,可以拜会我的上一篇文章SonarQube源码静态安全扫描工具利用入门

sonarphp代码扫描技巧_运用jenkins自动化SonarQube源码扫描
(图片来自网络侵删)
本文目标

SonarQube用于源码质量和安全检讨,jenkins是持续集成和构建开源工具,本文演示如何实现通过git提交到代码仓库后自动拉起SonarQube扫描任务,并查看扫描结果

解释:

1. jenkins为本地安装,本地访问链接为默认的http://localhost:8080/。

2. git仓库以gitee为例。

3. SonarQube为本地安装。

jenkins安装插件Gitee Plugin

在jenkins插件管理中的可选插件中搜索Gitee Plugin并安装,由于我已经安装该插件,因此显示在已安装页签中。

SonarQube Scanner for Jenkins

同样的方法安装SonarQube Scanner for Jenkins插件

jenkins配置内网穿透

由于gitee是外网环境,要实现jenkins和gitee之间的联动,我们须要把jenkins确当地做事暴露到外网中,访问https://developers.dingtalk.com/document/resourcedownload/http-intranet-penetration?pnamespace=app按照辅导进行安装,非常大略,针对windows系统实行命令轻微有点不同

ding -config=./ding.cfg -subdomain=mytest 8080

实行后,根据显示的信息访问个中一个链接即可,这个时候我们的jenkins就暴露到外网了。

系统配置

系统配置入口

全局属性中配置环境变量,必须配置的项目JAVA_HOME,须要指定JDK的路径,如果你的项目中须要用到maven,也须要配置其余两个环境变量,只有配置了环境变量,jenkins才能识别相应的命令。

SonarQube servers配置,name可自行定义,Server URL为SonarQube的访问地址,默认配置是http://127.0.0.1:9000/,Server authentication token为SonarQube项目中利用的令牌,须要在jenkins中首先创建并选择对应的令牌。

首先创建令牌,个中2为SonarQube项目中利用的令牌(创建项目时会提示创建令牌,须要把天生的令牌copy并保存后,由于创建完成后就不可见了)

Gitee 配置,个中链接名可以自由定义,Gitee 域名 URL为https://gitee.com,证书令牌必须选择Gitlee API令牌,须要在jenkins中进行创建并选择,点击测试连接返回成功表示设置ok。

创建Gitee API令牌,根据令牌中提示的链接先到gitee上天生令牌并复制到Gitee API令牌中

全局工具配置

全局工具配置入口

配置SonarQube扫描器的路径,干系扫描器的下载和实行参考SonarQube源码静态安全扫描工具利用入门

jenkins创建SonarQube扫描任务

首先创建自由风格的任务

Gitee链接选择已创建好的gitee链接

源码管理配置,Repository URL为gitee仓库的URL地址,Credentials为gitee仓库的认证,指定分支默认为master

创建gitee仓库的认证信息

构建触发器配置,勾选Gitee webHook 触发构建,其他配置可以保持默认,记录个中的URL地址,后面配置webHook须要用到

点击天生webHook密码

构建步骤增加Execute SonarQube Scanner

Server authentication token选择SonarQube servers配置时创建的token

个中task to run输入scan,即剖析代码,这个名字不能随意变动,否则拉起会报错(也可以输入-X表示按照debugging模式输出),Analysis properties参考下面的内容,sonar.projectKey的值可以自由定制,其他参数都未利用。

# must be unique in a given SonarQube instancesonar.projectKey=demo# --- optional properties ---# defaults to project key#sonar.projectName=My project# defaults to 'not provided'#sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Defaults to .#sonar.sources=. # Encoding of the source code. Default is default system encoding#sonar.sourceEncoding=UTF-8gitee配置

登录gitee,在仓库的管理中的weebhook选项中添加weebHook

个中URL利用上面源码管理中提示的URL,但是须要把内网地址更换为穿透后的外网地址;WebHook 密码/署名密钥输入jenkins源码管理配置中天生的密码,输入后点击激活。

测试效果

至此,gitee和Jenkins的联动配置已完成,可以场景向该仓库提交代码查看jenkins任务有没有触发扫描任务,正常会自动触发拉起扫描任务,扫描任务完成后点击SonarQube链接即可查看扫描结果。

相关文章

介绍直播新纪元,轻松进入直播的五大步骤

随着互联网技术的飞速发展,直播行业在我国逐渐崛起,越来越多的人选择通过直播这一新兴媒介展示自己、分享生活、传递价值。对于许多新手来...

网站推广 2025-01-03 阅读1 评论0

介绍相机美颜原理,科技与美学的完美结合

随着科技的发展,智能手机的摄像头功能日益强大,美颜相机成为了许多人拍照的首选。美颜相机不仅满足了人们对于美的追求,更在视觉上给人带...

网站推广 2025-01-03 阅读1 评论0

介绍磁铁的制造,科学与艺术的完美结合

磁铁,一种神秘的物质,自古以来就吸引了无数人的目光。它不仅具有独特的磁性,还能在工业、医疗、科研等领域发挥重要作用。磁铁是如何制造...

网站推广 2025-01-03 阅读1 评论0

介绍电瓶激活方法,让电池焕发新生

随着科技的不断发展,电动汽车逐渐成为人们出行的首选。而电瓶作为电动汽车的核心部件,其性能直接影响着车辆的续航里程和行驶体验。新购买...

网站推广 2025-01-03 阅读1 评论0