いつも自分のブログで検索してもJenkinsインストールした記録が残ってなくて、なんか変だなと思ったら書いてなかった。
CakePHP2系でtestsuiteを自動で走らせるっていうやつです。Jenkinsインストールからやります。
環境
- LinuxMint12 64bit
Jenkinsインストール
Ubuntu向けのインストール方法やればインストールされます。jenkinsユーザー作って8080ポートで起動までしてくれる
以下コマンド
$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - $ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list' $ sudo aptitude update $ sudo aptitude install jenkins
Jenkinsの設定
今回はVCSがGitなのですが、標準では対応していません。Jenkinsの設定からGitプラグインいれます。
- プラグインの管理 > 利用可能 > Git Plugin
Jenkinsユーザーでcloneできるようにリポジトリの設定に合わせて準備はしといてください(公開鍵とかそのへん)
ポーリングのところはcronの形式で間隔していできる。
ビルド手順
database.phpとかは手動でコピーして設定してというのをjenkinsとは関係ないところで行った。
後は、cake schema createしてtestsuite AllTestsを叩くだけなんだけど
cake schema createは対話式でdropしてもいいか、createしてもいいかという質問がくるので参った。
パイプで渡せば標準入力的な感じでうまくいくことがわかって下のように書いて動いた。
小さすぎてみえない
echo "y\ny" | lib/Cake/Console/cake schema create lib/Cake/Console/cake testsuite AllTests