背景 同一个 Git 项目,需要分析多个分支的代码扫描。...说明 SonarQube Community 版本不支持多分支扫描, SonarQube Developer Edition 及以上版本是支持多分支扫描的,扫描时指定分支参数-Dsonar.branch...=develop即可,就可以实现多分支代码扫描。...开源插件:sonarqube-community-branch-plugin 替换 sonar.projectKey,porjectKey 相等于 Sonar 中每个项目的主键 ID,替换后就会以新项目创建...PS: 由于我使用的是 SonarQube 最新版本,目前开源插件还未支持,就暂时使用了第二种。
; 2、jenkins 检测到这个事件之后,自动构建(不用手动了); 3、jenkins可以配置构建后动作,配置构建后自动执行sonarqube检测。...至此,完成自动构建+自动检测的全过程。 3 第一步:配置密钥对 使用jenkins账号邮箱,生成密钥对。...4 配置jenkins和sonarqube 1、在jenkins中创建一个项目; 2、打开“源码管理”,配置gitlab项目ssh地址,配置分支名,如下图2所示。...这会 jenkins 会自动构建,构建好之后,会生成sonarqube检测结果,直接通过jenkins界面访问sonarqube界面即可。...PS:jenkins 配置 sonarqube 的详细过程,各位看官可以自行查找。
SonarQube是一款代码检测工具,支持对Java、C#、、Python、Go、Html、JavaScript、CSS等代码的质量检测。...刚开始SonarQube的项目(projects)栏目是空的,需要新增项目或者主动检测项目后才会出现项目列表。...挂载目录/usr/local/sonarqube/extensions/plugins中,重启SonarQube实例即可 3、用SonarQube检测Maven项目 (1)在maven的conf/settings.xml...maven项目跟目录下执行mvn sonar:sonar,执行完再返回到SonarQube管理台,会发现出现了一个新项目及其检测结果的快照: 点进项目,就可以查看具体的Bug、漏洞、安全点、坏味道等检测结果及具体代码了...: ---- 转载请注明出处——胡玉洋《代码质量检测神器——SonarQube》
了解到有一个更好的插件能够实现多分支展示和Pull request集成,一起看下吧!...注意如果使用的其他用户操作需要授权插件给sonarqube权限。此时重启即可。...插件地址:https://github.com/mc1arke/sonarqube-community-branch-plugin/releases ---- 多分支 谈到多分支模式,其实社区版本仅支持一个分支...,能够对master分支进行扫描。...有了这个分支插件,可以实现对多分支的扫描。每个分支对应相关的质量报告。还是很方便的。以前没有这个插件的时候,每个分支创建了一个项目,非常难以管理哇。先来说下多分支插件的用法。
目的 对于小组内部PHP代码进行定期检测及分发 1. 需要定期从svn 或者git拉取指定代码 2. 对代码库内部门模块进行隔离或者删除,不参与检测 3. 为小组内人员定期发送邮件, 4....可分配具体bug 给具体小组内人员 jenkins安装及安装插件 1. sonar搭建可以参考 [之前文章:sonarqube For PHP 代码质量管理][1] 2. jenkins环境搭建:略过...3. jenkins 插件安装:略过 - SonarQube Scanner for Jenkins - Localization: Chinese (Simplified) -
使用sonarQube + gitlab-runner实现代码提交到gitlab仓储,触发gitlab-ci,通过gitlab-runner执行带有sonarQube代码审核执行脚本的gitlab-ci.yml...文件,完成整个代码自动化规范检查操作。...allow_failure: true only: # 仅检测master合并请求和master分支代码提交,sonarqube-ce版本只支持分析dev分支 - merge_requests...- dev 3.2 代码提交至gitlab之后,自动进行代码规范性检查 gitlab-ci 触发成功 ?...sonarQube 检测成功 ?
并实现jenkins代码的自动测试、自动部署 1)安装扫描器插件 2)点击系统设置设置sonarqube服务 3)添加sonarqube服务并自定义服务名称以及url地址 4)自动安装scanner...扫描器 5)若已安装scanner扫描器则无需自动安装,直接添加扫描器的工作目录即可 6)在jenkins创建一个新项目code-test-job 7)配置此项目的configure 指定gitlab...仓库源、认证方式 构建触发的口令秘钥 代码扫描的配置参数,其指定检测代码的类型、编码格式、路径等 8)在gitlab服务器中对的系统钩子添加jenkins认证地址,以实现自动触发jenkins的项目构建...9)克隆gitlab仓库代码并修改代码,再上传至gitlab仓库触发jenkins项目构建 指定克隆develop分支代码 root@Ubuntu1804:/data/src# git clone...192.168.1.30/jie/web-page.git 3fb434f..9e106d4 develop -> develop 10)在gitlab服务端查看代码已提交成功 11)提交代码到gitlab后自动触发
print(type(res)) print(res) #save with open("sonarqube-rule.txt
检测闭环 该解决方案使用SonarQube作为核心检测工具,通过1开发人员push/merge代码=》2执行SonarQube代码规范检测=》3企业微信通知=》4反馈开发人员代码检测结果,形成闭环。...检测流程 后端开发人员push/merge代码到dev分支时,触发gitlab-ci,启动gitlab-runner执行gitlab-ci.yml脚本,执行sonar-scanner代码规范扫描命令,扫描结果推送至...SonarQube(可在Web-UI界面查看检测结果详情),检测结束之后触发SonarQube-WebHooks发送统计结果到PushMessageServer服务,解析转换Json结果集并调用企业微信机器人通知...支持多分支 暂时只针对dev分支进行检测 4. 提醒说明 不强制拒绝提交代码,软校验功能,检测不通过@人进行修改,通过只提示检测通过。...实现代码规范自动化检测 企业微信群创建 - 群机器人 - 实现通知推送 阿里代码检测工具(Alibaba Java Coding Guidelines)使用参考 Alibaba Java Coding
使用SonarQube扫描仪分析Maven 安装jenkins 参考:http://blog.csdn.net/wh211212/article/details/53644980 安装Maven 参考:...http://blog.csdn.net/wh211212/article/details/69578996 安装SonarQube 参考:http://blog.csdn.net/wh211212/article.../details/77371831 配置Jenkins + Maven + SonarQube SonarQube 登录 ?...右键复制 获取的tokens,然后去jenkins里面配置 sonar jenkins登录 -> configure system -> SonarQube servers ?...如果有需要,记得本地设置hosts 配置maven 编辑位于$ MAVEN_HOME / conf或〜/ .m2中的settings.xml文件,设置插件前缀和可选的SonarQube服务器URL
系统编码格式 sonar.projectBaseDir 项目主目录,用于分析开始时的当前目录不是项目主目录的情况,可以是相对目录也可以是绝对目录 sonar.working.directory 用于SonarQube
postgresql docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres 获取 sonarqube...的镜像 docker pull sonarqube 启动 sonarqube docker run --name sq --link db -e SONARQUBE_JDBC_URL...=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d sonarqube 代码质量检验 打开 http://localhost:9000/ , 点击 “Log...登录账号:admin 密码:admin 以 Maven 项目为例 执行命令,检测代码质量 mvn sonar:sonar 成功之后,返回到浏览器,就可以浏览自己的项目的代码质量了 ?
2、IDEA集成 通过IDEA集成Sonar,实现开发过程中就可以自动检测代码中存在的安全问题。...(2)基本使用 在IDEA中安装SonarLint插件,实现自动检测项目文件分析或者对整个项目进行分析。 ?...3、Gitlab集成 通过Gitlab集成Sonar,就可以实现提交代码后自动邮件反馈扫描结果。...(1)在项目根目录编写.gitlab-ci.yml文件,通过GitLab-Runner实现Gitlab与Sonarqube集成。 ? (2)当提交代码的时候,自动检测代码并发送报告给提交者。 ?...4、Jenkins集成 通过Jenkins集成Sonar,就可以实现在流水线做自动化持续代码扫描。 (1)在Jenkins中,使用Pipeline流水线,拉取代码、执行打包、代码扫描。 ?
本文告诉大家如何在 Jenkins 配置合并到 release 的内容自动合并到 gitlab 的 master 分支 首先需要两个仓库,一个是 gitlab 的仓库,另一个是 Jenkins 的仓库...注意,第二个 Prune stale remote-tracking branches 很重要,如果有小伙伴上传了这样两个分支 t/lindexi t/lindexi/github 那么即使小伙伴在上传第一个分支之后...,删除了第一个分支再上传第二个分支,可能 Jenkins 也无法加载 第三个就是 Merge before build 请看图片,设置仓库是哪个,设置推送的分支 ?...newci.gz.lindexi.cn/project/lindexi/github_merge_release_to_dev 大家可不要没事就来攻击我的服务器 填写之后需要勾选 Push events 这样有人上传就可以自动合并...点击测试看 Jenkins 是否自动执行,如果有就是设置成功 可能因为合并的 master 分支没有推送,需要点击 repository 设置 Protected Branches 允许 maintainers
问题描述 当我们使用jenkins集成sonar做代码检测时,实际上是通过maven的插件,执行mvn打包命令时指定sonar来进行静态代码检测,这种方式进行检测时,有一个问题,那就是sonar的界面上并没有显示检测时的分支...,而是master分支,因此会造成代码检测报告不是很准确!...解决办法 下载sonar上显示分支的插件 该插件的github地址: https://github.com/mc1arke/sonarqube-community-branch-plugin/releases...instance and restart SonarQube....cp sonarqube-community-branch-plugin-1.2.0.jar lib/common/ cp sonarqube-community-branch-plugin-1.2.0
本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitlab...开发分支merge后自动发布到test环境 gitlab master分支merge后自动发布到prod环境 配置gitlab connection 系统设置-gitlab ?...Jenkins多分支Job 新建多分支流水线任务。 配置分支源,输入gitlab地址,创建一个username password token, 填入gitlab的账号和密码。...gitlab-bigdata')]) 拉取代码 checkout scm 告诉gitlab job状态 updateGitlabCommitStatus name: 'build', state: 'pending' 不同分支走不同的构建方式...我们Jenkinsfile里设置不同分支的构建策略,这样就实现了不同环境的发布和质量校验。需要注意的是,当代码合并到master的时候,我们的功能就会执行发布策略了。
(2) 检查设计存在的潜在缺陷:SonarQube 通过插件 Findbugs、Checkstyle 等工具检测代码存在的缺陷。...(3) 检测代码的重复代码量:SonarQube 可以展示项目中存在大量复制粘贴的代码。 (4) 检测代码中注释的程度:源码注释过多或者太少都不好,影响程序的可读可理解性。...(5) 检测代码中包、类之间的关系:分析类之间的关系是否合理,复杂度情况。...code quality in your CI/CD Developer Edition(14 day free trial) : (最大的应用程序安全性,最大的跨分支和PRs值) Maximum...采用自定义的Job进行自动构建 4.并执行代码分析检测命令 (Sonar-Scanner) 5.利用SonarQube接口进行分析项目源码(上面的七个维度)并存储到数据库之中 6.SonarQube Web
示例代码地址:XYJenkinsPipeline: jenkins pipeline脚本 1、自动合并分支, 拉取master -> 打tag -> 合并所有dev分支 (gitee.com) 介绍 jenkins...pipeline脚本 1、自动合并分支, 拉取master -> 打tag -> 合并所有dev分支 说明 配置 Jenkins 更换jenkins为root用户 jenkins的目录设置权限chown
,进行 sonar_preview (sonar 预览) 以及 auto_test (模拟自动化测试),另一种只针对 master 分支,进行 sonar_analyze (sonar 分析),大概意思就是对非...master 分支进行日常模拟自动化测试和使用 Sonar Gitlab 插件添加注释行和检测结果评论以及本次提交代码质量是否通过,对 master 分支上线前走一次静态代码检测。...echo "auto_test over." fi 说明:这里模拟自动化测试脚本,具体使用时自己配置。 新增 ci/sonar_analyze.sh 文件 #!...这里在 develop 分支故意写一些垃圾代码,验证下插件是否能够正确添加注释行以及添加检测结果评论,master 分支做一下提交验证下之前 sonar 静态代码检测结果。...外部的 sonarqube 增加的检测步骤。