Travis CIのJosh Kalderimisさん、Hiro Asariさんが(RubyKaigiのため)来日されるということで、DeNAさんで開催されたMeetupイベントに行ってきました。
当日撮影された動画および、発表スライドはconnpassの資料ページにまとめてあります
Travis CI Meetup Tokyo - 資料一覧 - connpass
travis-intro(Asariさん)
空のリポジトリから.travis.yml
を書きつつTravis CIの機能を説明していく形の、ライブCIとでも言うべきプレゼン。
使用したリポジトリはGitHubで、またビルド履歴はTravis CIのビルドページで参照できます。
- BanzaiMan/travis-intro-tokyo · GitHub
- Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community
ランタイムや環境変数のマトリクスを書いたとき、
matrix:
allow_failures:
- rvm: x.x
などと書くと、指定した組み合わせのジョブがfailしてもビルド自体は成功扱いになるという機能、知りませんでした。
Travis CIについて(Joshさん)
Travis CI GmbHのCEO、Joshさんによる、中身の話。
- Joshさんはニュージーランド住、ドイツ料理好き(Travis CIはドイツの会社)
- 利用されている言語、travis.org(無料)はnode.jsが多い。travis.com(有料)はRubyが多い。
- 主に、インフラとUIの2チーム
- OpenVZ and Docker
- BIWOMM (but it works on my machine!) からの脱却
- マルチプラットフォームを提供するのは大変だけどやっている。case insensitiveなOSもあるし大変。
- Xcode 6対応は近いうちに。
- Job実行中、10分出力が無いと停止する制限は、'travis_wait'を使うことで回避できる。ただしビルド全体の制限である50分は回避できない。
- forkされたリポジトリからpull-requestする上でのSecure Variablesの問題、対応を検討中。現状はひとつのリポジトリでブランチからのpull-requestで使って欲しい
LT
Travis API(pinzoloさん)
Automated releasing iOS app with Travis CI(岸川さん)
- iOSアプリのリリースビルドと、実機確認用のビルドを作ってTestFlightで配布する
- まずリリースビルド(xcarchive)を作り、それを元にipaを作る
- iTunes ConnectへのアップロードはAPIが無いため手作業だが、Travisで作ったファイルをS3にアップロードして保管し、それで申請している
QUnit on Travis CI(shigemk2さん)
Tachikoma.io(sanematさん)
- Travis CIは、リポジトリにpushされた契機でしかビルドされないため、依存関係にあるライブラリの更新によってビルドが壊れることを検知できない
- そこで、定期的にpull-requestを作ってビルドを走らせるTachikoma.ioを作った
Testing your app with Selenium on Travis CI(yandoさん)
- Travis CIにはFirefox(およびxvfb)が標準でインストールされている
- やむを得ずheadlessでテストするのではなくGUIブラウザで、Seleniumなどを使った自動テストを実行できる
懇親会で聞いた話(差し支えないと思うので)
- エンタープライズ用途、つまり、GitHub Enterpriseと組み合わせて使いたいという要望に対応する用意はあるそうで、サポートにメールで問い合わせて欲しいとのこと。
- Xcodeの複数バージョンインストールは今後も考えていない。容量がかなり大きいこと、AppleのNDAのこと。これは聞いてみたものの、バージョンが上がる過渡期にだけそう思うので、新しいものに更新される今の形で問題ないと思っています。
まとめ・所感
今回、Asariさんの呼びかけで企画され、募集とか司会とかでお手伝いさせていただきましたが、会場まわりは全てDeNAさんにやっていただき、司会のほうもJoshさん自ら質疑応答に入ったり、「あと一人で切ってもらおうか」と思ったら、"last one"と言ってくれるし、LTも皆さん概ね時間通りだし、少し余った分はyandoさんが埋めてくれるし、至れり尽くせりでした!
そしてなにより、Joshさんが楽しそうでよかった。ぜひまた来年もやりたいですね。
Travis CIのアップデートなどはTravis CIのブログでも告知されますが、Asariさんも入ってくれているTravis CI 日本語コミュニティでも色々情報が流れてきます。 Facebookのopen groupですので、どなたでも参加できます。
また、来週、京都と福岡でもMeetupが企画されています。お近くの方はぜひ!