SlideShare une entreprise Scribd logo
1  sur  12
2014/10/30 
伊藤雅俊/ masatoshi9953@gmail.com
 Travis CIをErlang/OTPで使いたい。 
 Eunitとかrebar、gitについては省略。 
 追加ライブラリや依存プロジェクトなし。最小構成。 
※Travis CI中でRabbit MQを使えるようなのでそれは後日。
もちろん、ありものリポジトリでも大丈 
夫。 
”rebar eunit” †、もしくは”make test”でき 
る必要があります。 
ここでは手順確認サンプルということで、 
新規に作りました。 
† :2014年10月30日時点では、Travis CI上では“rebar compile && rebar skip_deps=true eunit”が実行されます
Travis-ci.org/getting_startedより。 
GitHubアカウントからCI対象のリポ 
ジトリを選択するには、左メニュー 
の「+」ボタンを押します。
リポジトリの一覧が表示されてます 
ので、その中から対象のものをONに 
してください。 
追加したばかりだと表示されないこ 
とがあるので、”Sync now”をクリッ 
クして同期してください。
上メニューの「Home」を押すと、状 
況を表示できます。 
左ペインに、CIさせるよう登録したリ 
ポジトリが表示されてます。
 ひながたはrebarでcreate-appするのが手っ取り早いので、Vさんの資料 
( https://gist.github.com/voluntas/4243786 )を見ながら作成。 
 Eunitのテストはrebarのドキュメントにしたがって作成する 
(https://github.com/rebar/rebar/wiki/Getting-started) 
rebarの生成したコードにテストを追記したコード: 
https://github.com/masatoshiitoh/travisci_test/blob/mast 
er/src/travisci_test_app.erl
“Test passed”と表示され、テ 
ストが完了したことがわか 
ります。 
ここまできたら、いったん 
コミットして、GitHubに 
pushします。
GitHubへコミットすると、TravisCIが検知 
して、CIを開始します。 
ただし、この時点では失敗します。 
ローカルでのEunitは正常におこなえまし 
たが、TravisCIが「これはErlangのプロジェ 
クトである」と知らないためです。(ブ 
ラウザに表示される実行記録でみるとデ 
フォルトはRubyのようです) 
というわけで、次は.travis.ymlをリポジト 
リの最上位ディレクトリに作成します。
TravisCIに「このリポジトリは 
Erlang/OTPのプロジェクトですよ」 
と知らせるために、.travis.ymlという 
ファイル名でリポジトリの最上位 
ディレクトリに作成します。 
内容は右のようになっています。 
”otp_release”は必要なものを列挙し 
ますが、ここでは17.1だけ書いてい 
ます。 
作成したら、GitHubにpushします。
Travis CIの画面でpassedと表示されればOK 
です。
 Erlang リリースコトハジメ 
https://gist.github.com/voluntas/4243786 
 Travis CI 入門:GitHub + Travis CI で継続的インテグレーション 
http://tetsuwo.tumblr.com/post/44706350593/github-travis-continuous-integration 
 rebarドキュメント 
https://github.com/rebar/rebar/wiki/Getting-started 
 TravisCIドキュメント 
http://docs.travis-ci.com/user/getting-started/ 
http://docs.travis-ci.com/user/languages/erlang/ 
 ほか多数

Contenu connexe

Plus de Masatoshi Itoh

1999年 最新バックアップ事情
1999年 最新バックアップ事情1999年 最新バックアップ事情
1999年 最新バックアップ事情Masatoshi Itoh
 
Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)Masatoshi Itoh
 
GDC報告会資料 海外に見る「生産性改善」動向
GDC報告会資料 海外に見る「生産性改善」動向GDC報告会資料 海外に見る「生産性改善」動向
GDC報告会資料 海外に見る「生産性改善」動向Masatoshi Itoh
 
イケメンシリーズでのORMとスロークエリ対策について
イケメンシリーズでのORMとスロークエリ対策についてイケメンシリーズでのORMとスロークエリ対策について
イケメンシリーズでのORMとスロークエリ対策についてMasatoshi Itoh
 
Erlangご紹介 websocket編
Erlangご紹介 websocket編Erlangご紹介 websocket編
Erlangご紹介 websocket編Masatoshi Itoh
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料Masatoshi Itoh
 

Plus de Masatoshi Itoh (6)

1999年 最新バックアップ事情
1999年 最新バックアップ事情1999年 最新バックアップ事情
1999年 最新バックアップ事情
 
Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)
 
GDC報告会資料 海外に見る「生産性改善」動向
GDC報告会資料 海外に見る「生産性改善」動向GDC報告会資料 海外に見る「生産性改善」動向
GDC報告会資料 海外に見る「生産性改善」動向
 
イケメンシリーズでのORMとスロークエリ対策について
イケメンシリーズでのORMとスロークエリ対策についてイケメンシリーズでのORMとスロークエリ対策について
イケメンシリーズでのORMとスロークエリ対策について
 
Erlangご紹介 websocket編
Erlangご紹介 websocket編Erlangご紹介 websocket編
Erlangご紹介 websocket編
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 

TravisCIでErlang/OTP (最小構成版)