PHP
Jenkins

CentOS 7で、できるだけ簡単にPHP用のJenkins環境を作る

More than 3 years have passed since last update.


Jenkins環境の構築


Jenkinsのインストール

sudo yum install -y git wget java-1.7.0-openjdk vlgothic-fonts epel-release

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 install -y jenkins


PHP環境のインストール

xdebugはカバレッジの解析を行うのに必要

pdoはapigenがドキュメントを生成するのに必要

他にも必要なモジュールがある場合はインストールしておく

sudo yum install -y php-cli php-mbstring php-xml php-pdo php-pecl-xdebug


Composerのインストール

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer


Composerへのプラグイン追加(任意

初期ビルド時など時間がかかる事は容易に想定されるので、jenkinsユーザで実行する際に、少しでも早くなるように prestissimo をインストールしておく

sudo su -s /bin/bash - jenkins

composer global require hirak/prestissimo


ビルド方法の指定

シェルスクリプトにて、composerのinstallを実行し、devパッケージでインストールされる phing を実行する

/usr/local/bin/composer install --dev

vendor/bin/phing


ビルドを実行する PHPアプリ側の準備

最低限必要なものは、phing

その他のパッケージは必要に応じて

composer require phing/phing --dev

composer require phpunit/phpunit --dev
composer require satooshi/php-coveralls --dev
composer require squizlabs/php_codesniffer --dev
composer require phpmd/phpmd --dev
composer require apigen/apigen --dev


その他、やる必要がある事


  • PHPアプリ側で、build.xml ファイルの作成

  • Jenkins側で、必要そうなプラグインのインストール


    • Checkstyle Plug-in

    • Clover PHP plugin

    • Git plugin

    • Javadoc Plugin (標準で入っている)

    • JUnit Plugin (標準で入っている)

    • PMD Plug-in