Я пытаюсь сделать базовый статический анализ с моим маленьким PHP-кодом.
Я хочу использовать:
phploc
phpcpd
phpcs
моя папка проекта имеет следующую структуру:
.
|-- ci
| `-- docker_install.sh
|-- css
| `-- css.css
|-- index.php
|-- js
| |-- icons.json
| `-- script.js
`-- process.php
Я создал скрипт оболочки docker_install.sh со следующим кодом:
# Install git (the php image doesn't have it) and other tools
apt-get update -yqq
apt-get install git phploc phpcpd phpmd php-pear -yqq
#install composer
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
и мой файл сборки:
image: php:7.0
before_script:
#insatll needed packeges
- bash ci/docker_install.sh > /dev/null
test:app:
script:
#Static analysis
- phploc .
#phpmd check coding style
- phpmd . text naming
#checking Coding Standards with PHP Code Sniffer
- phpcpd .
#Viewing Coding Standards Violations
- phpcs --standard=PEAR --report=summaryy
Файл сборки со следующей ошибкой:
....
$ phpcpd .
Warning: require_once(Symfony/Component/ClassLoader/ClassLoader.php): failed to open stream: No such file or directory in /usr/share/php/SebastianBergmann/PHPCPD/autoload.php on line 2
Fatal error: require_once(): Failed opening required 'Symfony/Component/ClassLoader/ClassLoader.php' (include_path='.:/usr/local/lib/php') in /usr/share/php/SebastianBergmann/PHPCPD/autoload.php on line 2
ERROR: Build failed: exit code 1
Мои вопросы:
Как это улучшить и как заставить это работать?
Спасибо !
Вы установили композитор, но вы никогда не запускаете composer install
, Просто добавьте его в конец вашего файла docker_install.sh.
Других решений пока нет …