travis ciですぐに始める継続的インテグレーション
TRANSCRIPT
![Page 1: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/1.jpg)
2014/3/26@yando
Travis CIですぐに始める 継続的インテグレーション
![Page 2: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/2.jpg)
yando
CandyCane / php CakePHP2 実践入門
![Page 4: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/4.jpg)
業務レベルのPaaS
PHP/Ruby/Node/Java
ご入用の際は是非
![Page 5: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/5.jpg)
今日の話題
Travis CIの基礎
Travis CIの始め方
Travis CIのTIPS
![Page 6: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/6.jpg)
Travis CIの基礎
![Page 7: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/7.jpg)
継続的インテグレーション SaaS
2011年2月に誕生? ベルリン発
Mathias Meyer & Josh Kalderimis
テスト環境がオープンソース
Travis CI
![Page 8: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/8.jpg)
オープン、分散、即時
複数バージョンでの並行テスト
ライブラリ開発者、利用者
Higher Quality Code
Make the world a better place
特長
![Page 9: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/9.jpg)
C C++ Clojure Erlang Go Groovy Haskell Java
JavaScript Objective-C Perl PHP Python Ruby Scala …
超対応
![Page 10: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/10.jpg)
Email IRC Campfire Flowdock
HipChat Sqwiggle Slack Webhook
通知も多彩
![Page 11: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/11.jpg)
多彩な対応言語
(Objective-C)
細かなバージョンの対応
プライベート版が高い
Only Travis
![Page 12: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/12.jpg)
オープンソース
無料
プライベート
$129 ~ $489 (並行ジョブ数が異なる)
100ビルドまでフリートライアル
料金
![Page 13: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/13.jpg)
最初から始める
![Page 14: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/14.jpg)
Ubuntu 12.04 LTS Server Edition 64bit
テストごとにまっさらな環境
Chefで構築されている
テスト環境
![Page 15: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/15.jpg)
![Page 16: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/16.jpg)
コードをGitHubに置く
Travis CIからアカウント連携
該当リポジトリのスライダーをON
前提条件
![Page 17: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/17.jpg)
![Page 18: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/18.jpg)
Travis CIにCIの設定を指示
言語、バージョン、事前処理
テストに必要な鍵情報も書ける
文法チェックも可能
.travis.yml
![Page 19: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/19.jpg)
.travis.yml
![Page 20: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/20.jpg)
ruby
賢いデフォルトに合わせると楽
bundle install
rake
![Page 21: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/21.jpg)
バージョン
![Page 22: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/22.jpg)
![Page 23: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/23.jpg)
![Page 24: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/24.jpg)
追加コマンド
install:
before_install:
![Page 25: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/25.jpg)
ビルドステータス
![Page 26: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/26.jpg)
おどろき
猛烈に簡単
猛烈に便利
![Page 27: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/27.jpg)
Travis CIのTIPS
![Page 28: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/28.jpg)
テストの再実行
ネットワークなどが原因の際
再実行すれば通る
落ち着いてWebのボタンを押す
![Page 29: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/29.jpg)
![Page 30: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/30.jpg)
Selenium Testing
Travis CIにはfirefoxが入っている
xVfbを起動してブラウザを起動
ブラウザを使ったテストを自動化
![Page 31: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/31.jpg)
![Page 32: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/32.jpg)
暗号化
APIキーなどをそのままコミット?
travis gem でencrypt
.travis.yml に secure: ‘encrypted’
実行時にデコードして解釈
![Page 33: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/33.jpg)
暗号化の例
![Page 34: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/34.jpg)
文法チェック
travis-lint gem
.travis.ymlの文法チェック
オンラインでも実行可能
![Page 35: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/35.jpg)
Engine Yard連携
GitHubへコードをプッシュ
Travis CIがテストを実行
自動でEngine Yardへデプロイ!
![Page 36: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/36.jpg)
![Page 37: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/37.jpg)
まとめ
テストはTravis CI
PaaSはEngine Yard
アプリの開発に集中!
![Page 38: Travis CIですぐに始める継続的インテグレーション](https://reader034.vdocuments.site/reader034/viewer/2022052411/556a5501d8b42a7a138b4a01/html5/thumbnails/38.jpg)
続きはブログで