• Save
Travis CI – what's inside?
Upcoming SlideShare
Loading in...5
×
 

Travis CI – what's inside?

on

  • 1,193 views

«Travis CI – what's inside?» presented by Piotr Sarnacki (Warsaw) Rails contributor and Ember.js enthusiast. Currently works on Travis CI as a part of OSS Grant Program sponsored by ...

«Travis CI – what's inside?» presented by Piotr Sarnacki (Warsaw) Rails contributor and Ember.js enthusiast. Currently works on Travis CI as a part of OSS Grant Program sponsored by EngineYard.

Statistics

Views

Total Views
1,193
Views on SlideShare
971
Embed Views
222

Actions

Likes
4
Downloads
0
Comments
0

6 Embeds 222

http://www.belarusrubyonrails.org 160
http://brug.by 25
http://belarusrubyonrails.org 19
http://lanyrd.com 13
https://twitter.com 3
http://blog.altoros.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Travis CI – what's inside? Travis CI – what's inside? Presentation Transcript

  • приветTuesday, May 28, 13
  • Piotr SarnackiTuesday, May 28, 13
  • @drogusTuesday, May 28, 13
  • TravisCITuesday, May 28, 13
  • TravisCIWhat’s inside?Tuesday, May 28, 13
  • PolandTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • ZOMG!THIS IS MY DREAM JOB!Tuesday, May 28, 13
  • Getting back to presentation...Tuesday, May 28, 13
  • A few questions firstTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Distributed CITuesday, May 28, 13
  • Distributed CIfor Open Source!Tuesday, May 28, 13
  • Distributed CIand for private projectsTuesday, May 28, 13
  • Distributed CIand for private projectssoon!Tuesday, May 28, 13
  • We’re for buildswhat RubyGemsis for librariesTuesday, May 28, 13
  • A few factsTuesday, May 28, 13
  • close to 23,000 builds dailyA few factsTuesday, May 28, 13
  • close to 23,000 builds dailyA few factsover 5MLN builds total!Tuesday, May 28, 13
  • close to 23,000 builds dailyA few factsover 5MLN builds total!ruby, python, java, node... etc.Tuesday, May 28, 13
  • What about Jenkins?Tuesday, May 28, 13
  • Реальный опыт работы с JenkinsWhat about Jenkins?Tuesday, May 28, 13
  • What’s the purposeof this presentation?Tuesday, May 28, 13
  • Open Source distributedapplicationTuesday, May 28, 13
  • Open Source distributedapplicationwe need to scaleTuesday, May 28, 13
  • Open Source distributedapplicationyou can watch the entire processwe need to scaleTuesday, May 28, 13
  • Open Source distributedapplicationyou can see us fail and learn fromour mistakesyou can watch the entire processwe need to scaleTuesday, May 28, 13
  • Running an app is differentthan running Open SourcelibraryTuesday, May 28, 13
  • Tuesday, May 28, 13
  • A bit of a historyTuesday, May 28, 13
  • It all started with a mustacheTuesday, May 28, 13
  • Tuesday, May 28, 13
  • svenfuchs/travis-ciTuesday, May 28, 13
  • Tuesday, May 28, 13
  • It workedTuesday, May 28, 13
  • but...Tuesday, May 28, 13
  • Monolithic applicationTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Two concernsTuesday, May 28, 13
  • Two concernsserving web requestsTuesday, May 28, 13
  • Two concernsserving web requestsbackground workerTuesday, May 28, 13
  • ProblemsTuesday, May 28, 13
  • Problemsgrowing complexityTuesday, May 28, 13
  • Problemsgrowing complexitygrowing test suiteTuesday, May 28, 13
  • Solution: Travis WorkerTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Great improvement!Tuesday, May 28, 13
  • but...Tuesday, May 28, 13
  • Single box, no VMsTuesday, May 28, 13
  • No clean stateTuesday, May 28, 13
  • Leftovers after testsTuesday, May 28, 13
  • Solution: VirtualBoxTuesday, May 28, 13
  • VirtualBoxTuesday, May 28, 13
  • VirtualBoxsnapshottingTuesday, May 28, 13
  • VirtualBoxsnapshottingalways clean stateTuesday, May 28, 13
  • VirtualBoxsnapshottingalways clean statefreeTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Still only one boxTuesday, May 28, 13
  • Still a lot of couplingTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Master planTuesday, May 28, 13
  • Master planuse AMQP for messagingTuesday, May 28, 13
  • Master planuse AMQP for messagingcreate travis-hubTuesday, May 28, 13
  • Master planuse AMQP for messagingcreate travis-hubuse jruby for the workerTuesday, May 28, 13
  • Why AMQP?Tuesday, May 28, 13
  • Unify messagingTuesday, May 28, 13
  • Log outputTuesday, May 28, 13
  • Tuesday, May 28, 13
  • When rails app fails,builds still runTuesday, May 28, 13
  • So many changesTuesday, May 28, 13
  • All at once?Tuesday, May 28, 13
  • Not that smart moveTuesday, May 28, 13
  • 3 months ofdevelopmentTuesday, May 28, 13
  • A lot of firefightingTuesday, May 28, 13
  • Lesson learnedTuesday, May 28, 13
  • Lesson learnedsmaller incrementalchanges are betterTuesday, May 28, 13
  • Overally,great improvement againTuesday, May 28, 13
  • but...Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Meet travis-listenerTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Better reliabilityTuesday, May 28, 13
  • Rare changeslast deploy: 2012-12-05.11-27Tuesday, May 28, 13
  • Small chance of loosingan eventTuesday, May 28, 13
  • It’s great!Tuesday, May 28, 13
  • but...Tuesday, May 28, 13
  • Travis Hub does a lotTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • A great improvement again!Tuesday, May 28, 13
  • but...Tuesday, May 28, 13
  • API is coupled with clientTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • API does not change that oftenTuesday, May 28, 13
  • Easier deploysTuesday, May 28, 13
  • Separate domains?Tuesday, May 28, 13
  • CORS to the rescueTuesday, May 28, 13
  • CORSTuesday, May 28, 13
  • CORSCross Origin Resource SharingTuesday, May 28, 13
  • CORSCross Origin Resource Sharingallows remote ajax requestsTuesday, May 28, 13
  • CORSCross Origin Resource Sharingallows remote ajax requestsclient and API isolationTuesday, May 28, 13
  • Service Oriented ArchitecturesTuesday, May 28, 13
  • SOA - benefitsTuesday, May 28, 13
  • SOA - benefitsreliabilityTuesday, May 28, 13
  • SOA - benefitsreliabilityscalabilityTuesday, May 28, 13
  • SOA - benefitsreliabilityscalabilitymaintainabilityTuesday, May 28, 13
  • SOA - drawbacksTuesday, May 28, 13
  • SOA - drawbacksmore apps to changeTuesday, May 28, 13
  • SOA - drawbacksmore apps to changemore overheadTuesday, May 28, 13
  • SOA - drawbacksmore apps to changemore overheaddistributed computing is hardTuesday, May 28, 13
  • From monolithic app to SOA!Tuesday, May 28, 13
  • We’re awesome, aren’t we?Tuesday, May 28, 13
  • we can always do betterTuesday, May 28, 13
  • Can you spot the problem?Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Still a lot of sharingTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Tuesday, May 28, 13
  • Future direction:remove more couplingTuesday, May 28, 13
  • Well defined public APIsTuesday, May 28, 13
  • Our code sharingis not optimalTuesday, May 28, 13
  • travis-coreTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Split travis-coreTuesday, May 28, 13
  • A few tipsTuesday, May 28, 13
  • Small changesTuesday, May 28, 13
  • MetricsTuesday, May 28, 13
  • Tuesday, May 28, 13
  • Don’t break public APIsTuesday, May 28, 13
  • If you need,deprecate firstTuesday, May 28, 13
  • Always deployable masterTuesday, May 28, 13
  • Feature flipsTuesday, May 28, 13
  • if Travis::Features.active? :foodo_foo()endTuesday, May 28, 13
  • Bulletproof DB changesTuesday, May 28, 13
  • if column_names.include? :branchwhere(branch: master)elsejoins(:commit).where(commit: { branch: master })endTuesday, May 28, 13
  • Google for:Fallacies of distributedcomputingTuesday, May 28, 13
  • Thank youTuesday, May 28, 13
  • Questions?Tuesday, May 28, 13