2017-06-29 33 views
0

我正在使用Jenkins并对PHP请求进行PHPMD,PHPCS和PHP lint检查。我们拥有的基本上是每个功能的独立分支,如果它通过检查和测试,它应该再次合并到主分支中。如何对分支中仅更改的文件进行绒毛或静态分析?

我们正在检查项目中的所有PHP文件用这个命令:

echo "php syntax checks are started" 
find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected" && echo "PHP Syntax error(s) detected" && exit 1; 

使用“PHP -l”为所有PHP文件需要大约分钟。

我想知道是否有一种方法来加快这一点,并提出了解决方案。请检查我的答案。

回答

0

考虑到只有几个PHP文件将要改变这只需要几秒钟。

echo "php syntax checks for only changed files" 
(((git diff --name-only origin/master $GIT_COMMIT) | grep .php$) | xargs -n1 echo php -l | bash) | grep -v "No syntax errors detected" && echo "PHP Syntax error(s) detected" && exit 1; 

如果使用Git插件可与詹金斯你可以保持$ GIT_COMMIT否则应与承诺数或分支名称。

这也可以用于css和js lints以及。更改“php -l”部分取决于你所需要的。

相关问题