23
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-02-01

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
23
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?