やりたいこと
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
に埋め込むとあっという間にかっこよくなります。
参考文献
この記事を執筆する上で次のサイトを参考にさせていただきました。