jenkins插件之Warnings

Warnings插件,收集静态分析工具报告的编译器警告或问题,并将结果可视化。它内置了对许多编译器的支持(cpp,clang,java等)和工具(spotbugs,pmd,checkstyle,eslint,phpstan,.)

安装

Dashboard -->> 系统管理 -->> 插件管理 -->> Available plugins
搜索 Warnings, 点击安装

项目配置

PHPCodeSniffer

分析并生成报告

Dashboard -->> 项目名称 -->> 配置 -->> Build Steps

选择 Run with timeout 或者 Run shell
安装phpcs

#安装phpcs
if command -v docker exec -u root phpfpm82 /tmp/composer/vendor/bin/phpcs >/dev/null 2>&1; then echo '开始执行phpCodeSniffer'; else docker exec -u root phpfpm composer global require --dev squizlabs/php_codesniffer; fi

#执行phpcs生成分析报告
docker exec phpfpm /tmp/composer/vendor/bin/phpcs --standard=PSR12 --report-checkstyle=/workpath/checkstyle-result.xml /workpath/app || true
#这里的true是为了避免jenkins因构建错误而结束构建,你需要根据实际情况确定是否要这么做,
#我这里只需要报告,后续通过checkStyle可视化看是否需要修复,所以我保留了true

#替换生成文件中项目路径
sed -i 's/www/jenkins_home/g' /workpath/checkstyle-result.xml

可视化报告

Dashboard -->> 项目名称 -->> 配置 -->> 构建后步骤

选择 Record compiler warnings and static analysis results
工具选择 CheckStyle
Report File Pattern 填写 checkstyle-result.xml,注意此处文件需要和phpcs生成的报告文件名称一致,路径会自动检测
Encoding of Report Files 填写 UTF-8
在这里插入图片描述

psalm

分析并生成报告

Dashboard -->> 项目名称 -->> 配置 -->> Build Steps

选择 Run with timeout 或者 Run shell

#安装
if `docker exec phpfpm82 /tmp/composer/vendor/bin/psalm.phar -v >/dev/null 2>&1`; then echo '开始执行psalm'; else docker exec phpfpm82 composer global require --dev psalm/phar; fi

#扫描并生成报告
docker exec phpfpm82 /tmp/composer/vendor/bin/psalm.phar -r /var/www/workspace/$JOB_NAME/ --no-progress --output-format=checkstyle --report=/var/www/workspace/$JOB_NAME/reports/psalm_checkstyle.xml

可视化报告

Dashboard -->> 项目名称 -->> 配置 -->> 构建后步骤

选择 Record compiler warnings and static analysis results
工具选择 CheckStyle
Report File Pattern 填写 psalm_result.xml,注意此处文件需要和phpstan生成的报告文件名称一致,路径会自动检测
Encoding of Report Files 填写 UTF-8
在这里插入图片描述

PHPStan

分析并生成报告

Dashboard -->> 项目名称 -->> 配置 -->> Build Steps

选择 Run with timeout 或者 Run shell

#安装phpcs
if `docker exec phpfpm82 /tmp/composer/vendor/bin/phpstan -V >/dev/null 2>&1`; then echo '开始执行phpstan'; else docker exec phpfpm82 composer global require --dev phpstan/phpstan; fi

#分析code
docker exec phpfpm82 /tmp/composer/vendor/bin/phpstan analyse -c /var/www/workspace/$JOB_NAME/phpstan.neon --no-progress --error-format checkstyle --memory-limit 1G > /var/jenkins_home/workspace/$JOB_NAME/reports/phpstan_result.xml || true

可视化报告

Dashboard -->> 项目名称 -->> 配置 -->> 构建后步骤

选择 Record compiler warnings and static analysis results
工具选择 PHPStan
Report File Pattern 填写 phpstan_result.xml,注意此处文件需要和phpstan生成的报告文件名称一致,路径会自动检测
Encoding of Report Files 填写 UTF-8
在这里插入图片描述

PHPMD

分析并生成报告

Dashboard -->> 项目名称 -->> 配置 -->> Build Steps

选择 Run with timeout 或者 Run shell

#安装phpmd
if `docker exec phpfpm82 /tmp/composer/vendor/bin/phpmd >/dev/null 2>&1`; then
  echo '开始执行pdepend'
else
  docker exec phpfpm82 composer global require --dev phpmd/phpmd
fi

docker exec phpfpm82 /bin/sh -c "cd /var/www/workspace/$JOB_NAME/ && /tmp/composer/vendor/bin/phpmd app/ xml ./phpmd.xml --report-file ./reports/phpmd_result.xml --ignore-errors-on-exit --ignore-violations-on-exit"

可视化报告

Dashboard -->> 项目名称 -->> 配置 -->> 构建后步骤

选择 Record compiler warnings and static analysis results
工具选择 PHPMD
Report File Pattern 填写 reports/phpmd_result.xml,注意此处文件需要和phpmd生成的报告文件名称一致,路径会自动检测
Encoding of Report Files 填写 UTF-8
在这里插入图片描述

转载请保留出处,都看到这里了,点个赞再走吧

PHP质量工具系列

PHP/JS质量工具,安全工具 总结
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

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值