Travis CI Meetup Tokyoに参加しました

Travis CI Meetup Tokyo

Hiro Asari さんの Travis CI の demo

Travis-CI のライフサイクル

Setup -> Services
 |
 v
before_install
 |
 v
install
 |
 v
before_script
 |
 v
script
 |
 v
after_success   after_failure
 |                    |
 v                    |
 before_deploy        |
 |                    |
 v                    |
 after_deploy         |
 |                    |
 v                    v
after_script

.travis.yml

# build地にsudoを利用しない設定
sudo: false # アカウントに依存して、通常は動かない設定

language: ruby

bash の wait というオプションで標準出力がない場合に殺されないで済む

110+ vms 68+ servers heroku

openvz and docker

82000 jobs 125,435 jobs per day 7,000 repositories

|node.js | 2800| | python |1900| | ruby |1600| |php| 1500| |default (=ruby)|1000| ...

in COM, ruby is top usage.

team

  • team teal: ui ux
  • team blue: infrastructure
  • BIWOMM but it works on my machine

points

  1. Case sensitive
  2. inode deference
  3. Package difference dev and travis CI
  4. Services which are slow to start or configured differently
  5. 'apt get update' system packages change and are removed overtime
  6. test ordering and isolation
  7. time zone dependent test and timing differences
  8. capabilities turned off in container based virtualization systems

tachikoma.io

  • 依存関係とかのチェックを実現する

travisselenium

  • travisならxvfbもfirefoxjavaも入ってる!
  • screenshopを撮るAPIもある!→エクセルの証跡も作れる!