[PHP] ゼロから始める PHPUnit + CI (2. CI環境を導入しよう)


目次

  1. PHPUnit を導入しよう
  2. CI環境を導入しよう(本記事)
  3. コードカバレッジを計測しよう

はじめに

この記事の目的や環境情報は最初の記事を参照。

2. CI環境を導入しよう

無料で使えるCI環境は色々選択肢はあるものの、今回は一番メジャー?と思われる TravisCI を使う。ちなみにプライベートリポジトリは有料。

2.1 TravisCI アカウントを登録しよう

GitHub にログイン

TravisCI は GitHubアカウントで認証を行う。こちら → GitHub

TravisCI にサインイン

TravisCI に移動し、右上のSign in with GitHubを選択しサインインを完了させる。

リポジトリの登録

無事にサインインが済んだら今度は対象となるリポジトリを登録する。
左上の方にある + をクリックするとリポジトリ一覧が出てくる。

リポジトリ一覧からCIを有効にしたいリポジトリを選んで、スイッチをONにする。(下記の画像はOFF)

有効になったらダッシュボード(左上のTravisCIロゴから移動)をに戻っておこう。

2.2 TravisCI用の設定ファイルを作ろう

COMMIT: TravisCI用の設定ファイルを作ろう

TravisCI はリポジトリ直下の .travis.yml を読み込むので、ここにCIの設定を記述する。
設定の書き方は詳しくはTravisCIのドキュメントを参考に。

language: php

php:
  - 7.1

before_script:
  - curl -s http://getcomposer.org/installer | php
  - php composer.phar install
  • 言語をPHPに指定
  • PHPのバージョンを7.1に指定(複数指定すると各バージョンでテストを実行する)
  • テスト実行前に composer install コマンドを実行

このコミットをPushしたらTravisCIを見てほしい。なんとCIが動いてるではないか!

しばらくするとテストが完了!

2.3 GitHubにTravisCIのバッチを貼ろう

COMMIT: 2.3 GitHubにTravisCIのバッチを貼ろう

readme.mdの作成

ない場合は作ってね。

readme.mdにバッチを貼る

画像の箇所をクリックするとイメージへのリンクが何種類かの方法で選べるので、Markdown形式の内容をreadme.mdに追記する。

この段階で一度もビルドが行われていないブランチはバッチのURLが指定しているブランチをではないことがあるので注意(2017/11/07現在)。

2.4 ビルドが失敗したとき通知しよう

実はデフォルトでメールに通知されるようになっている。
他にもTravisCIのドキュメントにあるとおり、色んな方法で通知が可能。
時代はやはりSlackかな?それ系の記事はいっぱいあるので、ここでは扱わない。

この記事が分かりやすかった。
図解: Travis CIの結果をSlack通知する方法

あとがき

ここまででタイトルの通り PHPUnit + CI の環境は整ったのだけど、
せっかくの作った環境でもテストの網羅性が低いとあまり意味をなさない。

次回はコードカバレッジを計測して、GitHub にバッチを追加するところまでやります。

NEXT. コードカバレッジを計測しよう