cheka.jp 超不定期で更新する写真達。お口直しにどうぞ。

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 #最後の行に追加する

これで色々試す準備が整いました。
次回はプラグインを利用して実際に使ってみたいと思います。

Add a Comment

メールアドレスが公開されることはありません。