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`; then
  echo '开始执行phpcpd'
else
  docker exec phpfpm82 composer global require --dev sebastian/phpcpd
fi

docker 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

相关推荐

  1. php质量工具系列phploc

    2024-06-06 17:24:04       25 阅读
  2. php计模式工厂模式详解

    2024-06-06 17:24:04       29 阅读
  3. PHP系列PHP变量

    2024-06-06 17:24:04       71 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 17:24:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 17:24:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 17:24:04       82 阅读
  4. Python语言-面向对象

    2024-06-06 17:24:04       91 阅读

热门阅读

  1. kafka 可以脱离 zookeeper 单独使用吗?为什么?

    2024-06-06 17:24:04       25 阅读
  2. Android串口调试ADB

    2024-06-06 17:24:04       27 阅读
  3. 元宇宙概念及关键技术

    2024-06-06 17:24:04       32 阅读
  4. 调用大模型API 给产业分类

    2024-06-06 17:24:04       34 阅读
  5. 什么情况下AI可以不用预先设定算法和规则?

    2024-06-06 17:24:04       31 阅读
  6. matlab误差估计扩展卡尔

    2024-06-06 17:24:04       28 阅读
  7. 优化耗时业务:异步线程在微服务中的应用

    2024-06-06 17:24:04       33 阅读
  8. Pytorch 叶子节点和非叶子节点的理解

    2024-06-06 17:24:04       27 阅读