基本的には↓の記事の内容を進めていけばOKなのですが、つまずいたところがあったのでメモ。
CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法

OSはCentOS6.0です。

1.Redmine + Git + Jenkinsをインストール

ALMiniumを使ってインストール。

2.Jenkinsの設定

PHP関連パッケージの導入
PECLのインストール

# yum groupinstall "Development Tools"
# yum install php-devel
# yum install php-pear

PHP関連パッケージのインストール

pecl install xdebug
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear channel-discover pear.phpmd.org
pear channel-discover pear.symfony-project.com
pear channel-discover pear.symfony.com
pear channel-discover pecl.php.net
pear channel-discover pear.pdepend.org
pear channel-discover pear.netpirates.net
pear install --alldeps PhpDocumentor
pear install --alldeps phpunit/phpcpd
pear install --alldeps phpmd/PHP_PMD

PHPUnitのインストール

# yum install php-xml
# pear upgrade PEAR
# pear config-set auto_discover 1
# pear install pear.phpunit.de/PHPUnit

以下を/etc/php.iniの最後に追加してhttpd再起動

zend_extension="/usr/lib64/php/modules/xdebug.so"
extension=imagick.so

CakePHP2系からPDOを使うようになったのでインストール。さらにPDO MySQL 拡張モジュールもインストール。

# yum install php-pdo
# pecl install pdo_mysql

以下を/etc/php.iniの最後に追加してhttpd再起動

extension=pdo.so
extension=pdo_mysql.so

Jenkinsプラグインの導入
冒頭で紹介したリンク先の記事に書いてある通り

3.プロジェクトの設定

Jenkinsのプロジェクトの設定画面で、

ソースコード管理システム
Gitを選択。「Repository URL」欄にリポジトリパスを入力。パスはRedmineの各プロジェクトの設定画面にある「リポジトリ」タブで確認できます。「/var/opt/alminium/git/プロジェクト識別子」

ビルド・トリガ
ローカルからGitにプッシュする度にビルドするなら「SCMをポーリング」にチェック。
「スケジュール」欄に「* * * * *」と入力。

ビルド – シェルの実行
cakeとtmpの権限を変更する必要がありました。

cd ${WORKSPACE}/apps/admin && chmod 744 Console/cake && chmod 777 ./tmp/* && Console/cake test app AllTests

以上です。

2014.04.18 追記
PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
というワーニングが出力されていたのですが、/etc/php.d/pdo.ini の extension=pdo.so をコメントアウトしてやることで出なくなりました。


Tagged on:                 

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>