2017-02-26 104 views
0

我試着用我的小php代碼做一些基本的靜態分析。 我想用: phploc phpcpd phpcs在gitlab ci作曲家上測試php

我的項目文件夾結構如下:

. 
    |-- ci 
    | `-- docker_install.sh 
    |-- css 
    | `-- css.css 
    |-- index.php 
    |-- js 
    | |-- icons.json 
    | `-- script.js 
    `-- process.php 

我創建shell腳本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 

我的問題: 如何加強這方面的,以及如何工作的?

謝謝!

回答

0

你已經安裝了作曲家,但你永遠不會運行composer install。只需將其添加到docker_install.sh文件的末尾即可。

+0

感謝@Jakub卡尼亞,但現在它失敗,以下錯誤: ... + MV composer.phar在/ usr/local/bin目錄/作曲家 +作曲家安裝 不要運行作曲家根/超級用戶!有關詳細信息,請參見https://getcomposer.org/root 作曲家在/ builds/test中找不到composer.json文件 要初始化項目,請創建一個composer.json文件,如https:// getcomposer中所述。 org /「入門」部分 錯誤:生成失敗:退出代碼1 – Zatla00