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