JenkinsでPHPの継続的インテグレーションを体験する 準備編
|仕事でCIの勉強会を行うことになったので環境構築からビルドまでの流れを復習してみました。
せっかくなのでYiiの2.0がどんなもんか見てやろうと思うで取り上げたYiiを利用した開発を想定してCI環境を構築してみます。
準備する
開発環境はプロジェクト毎にvagrantを使って準備しているので、今回もvagrantでcentos64環境を準備しました。
Yiiが動く環境は準備済みの前提で進めます。
Jenkinsと連携するために以下のツールもインストールして下さい。
- phing(タスク実行)
- phpunit(自動テスト)
- phpcs(規約チェック)
- phpcpd(重複チェック)
- phpmd(設計チェック)
- phpdoc(ドキュメント生成)
任意のURLでvagrant環境にアクセス出来るよに事前に設定しておきましょう。
config.vm.hostname = "test.localhost" config.vm.network :private_network, ip: "192.1.1.1" #ローカルのIPを割り当てる
Jenkinsのインストール
Jenkinsを動かすためにjavaが必要になるので、先にJavaをインストールします。
$sudo yum install java-1.7.0-openjdk >... >Complete!
yumでインストール出来るようにjenkinsのrepoを追加します。
追加後にyum installでインストールしましょう。
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum -y install jenkins >... >Complete!
起動確認
Jenkinsを8080で起動した時にアクセス出来るようにポートを開けます。
今回はローカルなのでiptablesを無効にしてます
実際にJenkinsを起動してアクセスできるか確認してみます。
$sudo /sbin/iptables -F $sudo /etc/init.d/iptables save $sudo service jenkins start >Starting Jenkins [ OK ]
http://test.localhost:8080/へアクセスして確認してみましょう。
準備中の表示が変わりました。
プラグインの追加
PHPのツールと連携するためにJenkinsのプラグインを追加します。
画面上から必要なプラグインを選択してインストールして下さい。
- Phing Plugin
- PMD Plugin
- Clover PHP Plugin
- Checkstyle Plug-in
- Analysis Collector Plugin
ワークスペースの設定
ワークスペース・ルートディレクトリを設定しましょう。
システム設定を選択して下さい。
最後にsudoでジョブを起動できるようにjenkinsユーザーのsudoはパスワード無しに設定します。
今回はローカルなのでsudoで起動します。
$sudo visudo
>jenkins ALL=(ALL) NOPASSWD:ALL #最後の行に追加する
これで色々試す準備が整いました。
次回はプラグインを利用して実際に使ってみたいと思います。