38
2014/3/26 @yando Travis CI ですぐに始める 継続的インテグレーション

Travis CIですぐに始める継続的インテグレーション

  • Upload
    yandod

  • View
    223

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Travis CIですぐに始める継続的インテグレーション

2014/3/26@yando

Travis CIですぐに始める 継続的インテグレーション

Page 2: Travis CIですぐに始める継続的インテグレーション

yando

CandyCane / php CakePHP2 実践入門

Page 3: Travis CIですぐに始める継続的インテグレーション

engineyard.co.jp

Page 4: Travis CIですぐに始める継続的インテグレーション

業務レベルのPaaS

PHP/Ruby/Node/Java

ご入用の際は是非

Page 5: Travis CIですぐに始める継続的インテグレーション

今日の話題

Travis CIの基礎

Travis CIの始め方

Travis CIのTIPS

Page 6: Travis CIですぐに始める継続的インテグレーション

Travis CIの基礎

Page 7: Travis CIですぐに始める継続的インテグレーション

継続的インテグレーション SaaS

2011年2月に誕生? ベルリン発

Mathias Meyer & Josh Kalderimis

テスト環境がオープンソース

Travis CI

Page 8: Travis CIですぐに始める継続的インテグレーション

オープン、分散、即時

複数バージョンでの並行テスト

ライブラリ開発者、利用者

Higher Quality Code

Make the world a better place

特長

Page 9: Travis CIですぐに始める継続的インテグレーション

C C++ Clojure Erlang Go Groovy Haskell Java

JavaScript Objective-C Perl PHP Python Ruby Scala …

超対応

Page 10: Travis CIですぐに始める継続的インテグレーション

Email IRC Campfire Flowdock

HipChat Sqwiggle Slack Webhook

通知も多彩

Page 11: Travis CIですぐに始める継続的インテグレーション

多彩な対応言語

(Objective-C)

細かなバージョンの対応

プライベート版が高い

Only Travis

Page 12: Travis CIですぐに始める継続的インテグレーション

オープンソース

無料

プライベート

$129 ~ $489 (並行ジョブ数が異なる)

100ビルドまでフリートライアル

料金

Page 13: Travis CIですぐに始める継続的インテグレーション

最初から始める

Page 14: Travis CIですぐに始める継続的インテグレーション

Ubuntu 12.04 LTS Server Edition 64bit

テストごとにまっさらな環境

Chefで構築されている

テスト環境

Page 15: Travis CIですぐに始める継続的インテグレーション
Page 16: Travis CIですぐに始める継続的インテグレーション

コードをGitHubに置く

Travis CIからアカウント連携

該当リポジトリのスライダーをON

前提条件

Page 17: Travis CIですぐに始める継続的インテグレーション
Page 18: Travis CIですぐに始める継続的インテグレーション

Travis CIにCIの設定を指示

言語、バージョン、事前処理

テストに必要な鍵情報も書ける

文法チェックも可能

.travis.yml

Page 19: Travis CIですぐに始める継続的インテグレーション

.travis.yml

Page 20: Travis CIですぐに始める継続的インテグレーション

ruby

賢いデフォルトに合わせると楽

bundle install

rake

Page 21: Travis CIですぐに始める継続的インテグレーション

バージョン

Page 22: Travis CIですぐに始める継続的インテグレーション
Page 23: Travis CIですぐに始める継続的インテグレーション
Page 24: Travis CIですぐに始める継続的インテグレーション

追加コマンド

install:

before_install:

Page 25: Travis CIですぐに始める継続的インテグレーション

ビルドステータス

Page 26: Travis CIですぐに始める継続的インテグレーション

おどろき

猛烈に簡単

猛烈に便利

Page 27: Travis CIですぐに始める継続的インテグレーション

Travis CIのTIPS

Page 28: Travis CIですぐに始める継続的インテグレーション

テストの再実行

ネットワークなどが原因の際

再実行すれば通る

落ち着いてWebのボタンを押す

Page 29: Travis CIですぐに始める継続的インテグレーション
Page 30: Travis CIですぐに始める継続的インテグレーション

Selenium Testing

Travis CIにはfirefoxが入っている

xVfbを起動してブラウザを起動

ブラウザを使ったテストを自動化

Page 31: Travis CIですぐに始める継続的インテグレーション
Page 32: Travis CIですぐに始める継続的インテグレーション

暗号化

APIキーなどをそのままコミット?

travis gem でencrypt

.travis.yml に secure: ‘encrypted’

実行時にデコードして解釈

Page 33: Travis CIですぐに始める継続的インテグレーション

暗号化の例

Page 34: Travis CIですぐに始める継続的インテグレーション

文法チェック

travis-lint gem

.travis.ymlの文法チェック

オンラインでも実行可能

Page 35: Travis CIですぐに始める継続的インテグレーション

Engine Yard連携

GitHubへコードをプッシュ

Travis CIがテストを実行

自動でEngine Yardへデプロイ!

Page 36: Travis CIですぐに始める継続的インテグレーション
Page 37: Travis CIですぐに始める継続的インテグレーション

まとめ

テストはTravis CI

PaaSはEngine Yard

アプリの開発に集中!

Page 38: Travis CIですぐに始める継続的インテグレーション

続きはブログで