Travis CIで実現するPHPアプリの自動テスト

2,395 views

Published on

Published in: Software
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,395
On SlideShare
0
From Embeds
0
Number of Embeds
69
Actions
Shares
0
Downloads
5
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Travis CIで実現するPHPアプリの自動テスト

  1. 1. 2014/6/28@yando Travis CIで実現する
 PHPアプリの自動テスト
  2. 2. yando CandyCane / php
  3. 3. 書籍 Chef 実践入門 CakePHP2 実践入門 同姓同名
  4. 4. 自分 小説家 安藤祐介 刀鍛冶 安藤祐介
  5. 5. note.mu/yando
  6. 6. Yak Shaving
  7. 7. engineyard.co.jp
  8. 8. 業務レベルのPaaS PHP/Ruby/Node/Java
 ご入用の際は是非
  9. 9. 本日お話すること なぜTravis CIなのか? Travis CIの使い方 Travis CIで出来る様々なテスト
  10. 10. なぜTravis CIなのか
  11. 11. テストしてますか
  12. 12. http://fjord.jp/love/1084.html
  13. 13. Jenkins
  14. 14. Jenkinsサーバの
 構築・運用はつらい
  15. 15. なぜか
  16. 16. 要求は異なる アプリAの必要なPHP、DB、ソフト アプリBの必要なPHP、DB、ソフト アプリCの必要なRuby、DB、ソフト
  17. 17. つらいならやめよう
  18. 18. 継続的インテグレーション SaaS 2011年2月に誕生? ベルリン発 Mathias Meyer & Josh Kalderimis テスト環境がオープンソース Travis CI
  19. 19. オープン、分散、即時 複数バージョンでの並行テスト ライブラリ開発者、利用者 Higher Quality Code Make the world a better place 特長
  20. 20. C C++ Clojure Erlang Go Groovy Haskell Java JavaScript Objective-C Perl PHP Python Ruby Scala … 超対応
  21. 21. Email IRC Campfire Flowdock HipChat Sqwiggle Slack Webhook 通知も多彩
  22. 22. オープンソース
 無料 プライベート
 $129 ∼ $489 (並行ジョブ数が異なる)
 リポジトリ数は無制限! 料金
  23. 23. Travis CIの使い方
  24. 24. Ubuntu 12.04 LTS Server Edition 64bit テストごとにまっさらな環境 Chefで構築されている テスト環境
  25. 25. コードをGitHubに置く Travis CIからアカウント連携 該当リポジトリのスライダーをON 前提条件
  26. 26. Travis CIにCIの設定を指示 言語、バージョン、事前処理 テストに必要な 情報も書ける 文法チェックも可能 .travis.yml
  27. 27. .travis.yml
  28. 28. バージョン
  29. 29. テストは? 賢いデフォルトに合わせると楽 phpunit composer pyrus pearも使用可能 pecl apt-getもいける
  30. 30. 自由に設定 install: before_install: script:
  31. 31. ビルドステータス
  32. 32. おどろき 猛烈に簡単 猛烈に便利
  33. 33. Travis CIで出来る
 様々なテスト
  34. 34. テストの再実行 ネットワークなどが原因の際 再実行すれば通る 落ち着いてWebのボタンを押す
  35. 35. Selenium Testing Travis CIにはfirefoxが入っている xVfbを起動してブラウザを起動 ブラウザを使ったテストを自動化 phpunitから制御
  36. 36. Travis CI VM xVfb firefox Java Selenium PHP WebApp phpunit
  37. 37. 暗号化 APIキーなどをそのままコミット? travis gem でencrypt .travis.yml に secure: encrypted 実行時にデコードして解釈
  38. 38. 暗号化の例
  39. 39. Engine Yard連携 GitHubへコードをプッシュ Travis CIがテストを実行 自動でEngine Yardへデプロイ!
  40. 40. iOS / Android スマホアプリのCIも可能 OSXにXCodeが入ったVM Android SDKも同様 Simulatorも入っている
  41. 41. それでも自分で作る?
  42. 42. 続きはブログで

×