SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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
アプリの開発に集中!
続きはブログで

Weitere ähnliche Inhalte

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

Laravelから学びレガシーと闘いはじめた
Laravelから学びレガシーと闘いはじめたLaravelから学びレガシーと闘いはじめた
Laravelから学びレガシーと闘いはじめたYuta Ohashi
 
Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28光一 原田
 
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseChihiro Ito
 
Jcss 「はじめよう!クラウド」配布用
Jcss 「はじめよう!クラウド」配布用Jcss 「はじめよう!クラウド」配布用
Jcss 「はじめよう!クラウド」配布用chirashier
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~Rakuten Group, Inc.
 
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Yo Takezawa
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回龍一 田中
 
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたいはじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたいKazumi IWANAGA
 
Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90ko ty
 
20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_Jenkins20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_JenkinsSHIFT Inc.
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingOSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingTakuya ASADA
 
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordovamiso- soup3
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 

Ähnlich wie Travis CIですぐに始める継続的インテグレーション (20)

Laravelから学びレガシーと闘いはじめた
Laravelから学びレガシーと闘いはじめたLaravelから学びレガシーと闘いはじめた
Laravelから学びレガシーと闘いはじめた
 
Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
Cloud stack入門
Cloud stack入門Cloud stack入門
Cloud stack入門
 
転職とLaravel
転職とLaravel転職とLaravel
転職とLaravel
 
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
 
Jcss 「はじめよう!クラウド」配布用
Jcss 「はじめよう!クラウド」配布用Jcss 「はじめよう!クラウド」配布用
Jcss 「はじめよう!クラウド」配布用
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
 
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回
 
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたいはじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
 
Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90
 
20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_Jenkins20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_Jenkins
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingOSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meeting
 
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
NanoA
NanoANanoA
NanoA
 

Mehr von Yusuke Ando

ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大Yusuke Ando
 
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックYusuke Ando
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版Yusuke Ando
 
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CITesting your app with Selenium on Travis CI
Testing your app with Selenium on Travis CIYusuke Ando
 
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Yusuke Ando
 
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Yusuke Ando
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Yusuke Ando
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツYusuke Ando
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行Yusuke Ando
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるYusuke Ando
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Yusuke Ando
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard CloudYusuke Ando
 
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めようYusuke Ando
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」Yusuke Ando
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室Yusuke Ando
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHPYusuke Ando
 

Mehr von Yusuke Ando (20)

ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大
 
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
 
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CITesting your app with Selenium on Travis CI
Testing your app with Selenium on Travis CI
 
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発
 
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
 
Dev opschef
Dev opschefDev opschef
Dev opschef
 
Paa s and oss
Paa s and ossPaa s and oss
Paa s and oss
 
New relic
New relicNew relic
New relic
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard Cloud
 
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」
 
20121225 php
20121225 php20121225 php
20121225 php
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 

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