CakePHPのコーディング規約チェックを自動で行うためにjenkinsを導入

Macに導入。

PHPのコーディング規約をチェックするPHP CodeSnifferを入れる

sudo pear install PHP_CodeSniffer

実行に必要なパスが通ってなかったのでphp.iniに追加
/opt/local/etc/php5/php.ini

include_path = ".://opt/local/lib/php"
sudo /opt/local/apache2/bin/apachectl restart

CakePHPのコーディング規約をインストール

sudo pear channel-discover pear.cakephp.org
sudo pear install cakephp/CakePHP_CodeSniffer

ちゃんと入ったかチェック

sudo phpcs -i
The installed coding standards are CakePHP, MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend

jenkinsはMac用のが準備されているのでインストール
Welcome to Jenkins CI! | Jenkins CI

サーバーのgitリポジトリと接続する設定をしたんだけどそこでつまづいた。
鍵をjenkins用に設置。サーバー側も対応。

/Users/Shared/Jenkins/.ssh/id_rsa

ビルドのトリガはgitにして、
変更があったら下記シェルを実行。

cd ${WORKSPACE} && phpcs '--ignore=*/Vendor/*,*/Plugin/*,*/cake.php' --report=checkstyle --report-checkstyle=${WORKSPACE}/reports/checkstyle.xml --standard=CakePHP --extensions=php,ctp ./app || id

レポートを出力する部分もつまづいて、
ファイルを出力できなかった。
ファイルが作成される方のパーミッションは設定してたんだけど
出力するファイルの設定が標準ではできていなかったのが原因。

cd /opt/local/lib/php/PHP/CodeSniffer/
sudo chmod 644 Reporting.php

Categories:

Tags:


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA