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