やりたいこと
GitHub上のElixir × PhoenixのプロジェクトをTravis CIでテストする。
方法
Phoenixプロジェクトの作成とGitHubリポジトリへのpushは済んでいるものとします。
- Travis CIとリポジトリの連携
- プロジェクトルートに.travis.ymlの設置
- GitHub上のリポジトリへpush
1. Travis CIとリポジトリの連携
Travis CIにアクセスし、GitHubアカウントを用いてサインインします

連携承認画面が表示され、承諾するとGitHubのpublicリポジトリのリストが出てくるので、Travis CIと連携したいリポジトリのスイッチをONにします。

以上でTravis CIとの連携は完了です。
2. .travis.ymlの設置
.travis.ymlをプロジェクトの最上位ディレクトリへ追加します。内容は次のような感じです。(ファイル名は必ず.travis.ymlにしてください)
language: elixir
elixir:
    - 1.1.0
otp_release:
    - 18.0
sudo: false
addons:  
    postgresql: '9.4'
before_script:  
    - npm install
    - mix do ecto.create, ecto.migrate
script: mix test
おおまかに説明すると、
- 言語をElixirに指定
- Elixirのバージョンを1.1.0、ErlangのOTPリリースバージョンを18.0に指定
- 
sudoを使用しない
- PostgreSQLのバージョン9.4を利用する
- テスト実行前にnpmのインストール、およびDBの初期化とマイグレーション
- 
mix testでテストを実行
というような感じです。
3. GitHub上のリポジトリへpush
上記1〜2を行うと、以後はTravis CIと連携したGitHub上のリポジトリへpushする度に自動でテストが走って、終了し次第その結果がメールで通知されます。
やったぜ!
まとめ
- Travis CIとリポジトリの連携
- プロジェクトルートに.travis.ymlの設置
- GitHub上のリポジトリへpush
おまけ
Travis CIのリポジトリ管理画面で、リポジトリ名の右にあるバッチをクリックすると、そのバッチを設置するためのmarkdownや画像のURLを得ることができます。
それをREADME.mdに埋め込むとあっという間にかっこよくなります。
参考文献
この記事を執筆する上で次のサイトを参考にさせていただきました。



