php质量工具系列之PHPCPD

PHPCPD 用于检测重复代码,直观的说就是复制粘贴再稍微改改
该工具作者已经 停止维护

安装

composer global require --dev sebastian/phpcpd

执行

phpcpd --log-pmd phpcpd_result.xml ./app

参数介绍 --log-pmd 将结果保存在phpcpd_result.xml 中
./app 是phpcpd扫描的项目目录
–suffix 指定扫描的文件后缀,可以出现多次以便指定多个后缀
–exclude 无需扫描的路径,也可出现多次指定多个路径

结果

标明那个文件的多少行到多少行是重复的
在这里插入图片描述

Jenkins中的使用

在项目构建步骤中增加 执行shell

#执行phpcpd
if `docker exec phpfpm82 /tmp/composer/vendor/bin/phpcpd >/dev/null 2>&1`; thenecho '开始执行phpcpd'
elsedocker exec phpfpm82 composer global require --dev sebastian/phpcpd
fidocker exec phpfpm82 /bin/sh -c "cd /var/www/workspace/$JOB_NAME/ && /tmp/composer/vendor/bin/phpcpd --log-pmd reports/phpcpd_result.xml ./app"

可视化结果

jenkins插件 DRY 已经停止下载,所以没有可视化的界面可用,具体见 https://plugins.jenkins.io/dry/

看到这里了,点个赞再走吧

PHP质量工具系列

PHP/JS质量工具,安全工具,Jenkins插件 总结
TOP 6 PHP代码质量工具
PHP质量工具系列之php-depend
PHP质量工具系列之phpmd
PHP质量工具系列之phpcpd
PHP质量工具系列之phploc
PHP质量工具系列之paslm
PHP质量工具系列之phpstan
PHP质量工具系列之Owasp dependency-check
PHP质量工具系列之php_codesniffer
PHP质量工具系列之phpunit
PHP质量工具系列之xhprof
SBOM生成之CycloneDX

CI/CD之Jenkins插件使用系列

jenkins插件之Jdepend
jenkins插件之plot
jenkins插件之dependency-check
jenkins插件之Warnings
jenkins插件之xunit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/344896.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编译原理-词法分析(实验 C语言)

编译原理-词法分析 1. 实验目的 设计、编写并调试一个词法分析程序,加深对词法分析原理的理解 2. 实验要求 2.1 待分析的简单语言的词法 关键字:begin,if,then,while,do,end 所有关键字都是…

DevOps入门

DevOps: 让技术团队、运维、测试等团队实现一体式流程自动化 CICD: CI:持续集成 CD:持续交付持续集成:从编码、编译、测试、发布项目到仓库的自动化流程持续交付:包含持续集成,并且增加将项目部署到对应的环境的自动化流程 传统项目闭环流程: DevOps闭环流程…

基于非下采样小波包分析的滚动轴承故障诊断(MATLAB R2021B)

小波变换具有良好的时频局部化特性和多分辨率特性,可准确定位信号的突变点并可在不同尺度上描述信号的局部细节特征,被广泛应用于信号降噪。但标准正交小波变换不具有平移不变性,采用标准正交小波对信号消噪后,会在脉冲尖峰处产生…

VSCode调试揭秘:Live Server助力完美测试Cookie与Session,远超“Open in Browser“!

文章目录 一、项目场景:二、问题描述1. open in browser:2. open with live server 三、原因分析:先了解一下open in browser和open with live server的区别两者的优缺点open in browseropen with live server 四、解决方案:总结 …

Java开发-面试题-0005-==和String的equals()和String的intern()方法的区别

Java开发-面试题-0005-和String的equals()和String的intern()方法的区别 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998(纯纯技术…

前端多人项目开发中,如何保证CSS样式不冲突?

在前端项目开发中,例如突然来了一个大项目,很可能就需要多人一起开发,领导说了,要快,要快,要快,你们给我快。然后下面大伙就一拥而上,干着干着发现,一更新代码&#xff0…

转型AI产品经理(5):“锚定效应”如何应用在Chatbot产品中

锚定效应是认知心理学中一个重要的概念,它描述了人们在进行判断或决策时,往往过于依赖最先接收到的信息或数字(即“锚点”),即使后续信息与初始锚点无关甚至相反,这个初始信息也会显著地影响最终的判断结果…

【下篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了YoloX, 今天从Yolov6开始。 YOLOv6:面向工业应用的单级物体检测框架 美团视觉人工智能事业部(Meituan Vision AI Department)于 2022 年 9 月在…

拯救者Legion Y9000X IRX9 2024(83FD)原装出厂Windows11系统镜像下载

lenovo联想2024款拯救者Y9000X IRX9 笔记本电脑【83FD】OEM预装Win11系统安装包,恢复开箱状态,自带恢复重置还原功能 链接:https://pan.baidu.com/s/1i_sVcnXF4qgsuj02rebe-Q?pwdyefp 提取码:yefp 联想原装WIN11系统自带所有…

Junit 单元测试 详解,包你掌握

Java单元测试----Junit详解 1 什么是 Junit JUnit 是一个广泛使用的 Java 单元测试框架。它用于编写和运行可重复的测试,以验证 Java 程序的行为是否符合预期 也许有人会好奇,之前学的 Selenium 和 Junit 有什么关系?答案就是没关系&#…

htb-linux-6-beep

nmap web渗透 目录扫描 漏洞关键词 shell py脚本执行 flag root 目前的权限 nmap root

《精通ChatGPT:从入门到大师的Prompt指南》第4章:避免常见错误

第4章:避免常见错误 在使用ChatGPT进行Prompt编写时,常见的错误可能会大大影响生成内容的质量和准确性。本章将详细讨论这些错误,并提供如何避免它们的建议。 4.1 不明确的指令 在使用ChatGPT时,一个常见的问题是指令不够明确。…

使用proteus仿真51单片机的流水灯实现

proteus介绍: proteus是一个十分便捷的用于电路仿真的软件,可以用于实现电路的设计、仿真、调试等。并且可以在对应的代码编辑区域,使用代码实现电路功能的仿真。 汇编语言介绍: 百度百科介绍如下: 汇编语言是培养…

Spring boot+vue前后端分离

目录 1、前端vue的搭建 2、后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 service层 imp层 mapper 实体类 额外写一个类、解决跨域问题 3、测试 1、前端vue的搭建 建立项目的过程略 开启一个建立好…

JDK下载安装Java SDK

Android中国开发者官网 Android官网 (VPN翻墙) 通过brew命令 下载OracleJDK(推荐) 手动下载OracleJDK(不推荐) oracle OracleJDK下载页 查找硬件设备是否已存在JDK环境 oracle官网 备注: JetPack JavaDevelopmentKit Java开发的系统SDK OpenJDK 开源免费SDK …

unity3d:GameFramework+xLua+Protobuf+lua-protobuf,生成.cs,.pb工具流

概述 1.区分lua,cs用的proto 2.proto生成cs,使用protogen.exe,通过csharp.xslt修改生成cs样式 3.proto生成lua加载.pb二进制文件,并生成.pb列表文件,用于初始化加载 4.协议id生成cs,lua中枚举 区分cs&…

spring boot3登录开发-2(3邮件验证码接口实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 目录 写在前面 上文衔接 接口设计与实现 1.接口分析 2.实现思路 3.代码实现 1.定义验证码短信HTML模板枚举类 2.定义验证码业务接口 3. 验证码业务接口实现 4.控制层代码 4.测试 写…

【原创】springboot+mysql农业园区管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

【物联网实战项目】STM32C8T6+esp8266/mqtt+dht11+onenet+uniapp

一、实物图 前端uniapp效果图(实现与onenet同步更新数据) 首先要确定接线图和接线顺序: 1、stm32c8t6开发板连接stlinkv2下载线 ST-LINK V2STM323.3V3.3VSWDIOSWIOSWCLKSWCLKGNDGND 2、ch340串口连接底座(注意RXD和TXD的连接方式…

数据结构之计数排序算法【图文详解】

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:LiUEEEEE                        …