SlideShare a Scribd company logo
1 of 15
Download to read offline
“Vendor Everything”        Ryan McGeary
                      http://ryan.mcgeary.org
    Still Applies            @rmm5t
e m s                    e m
               / g                    g .   g
         o   r                  f   i
v e   nd                c    on
WHY?
Check in your
   .rvmrc

rvm ruby-1.9.2
RVM Gemsets
Are Overrated
Let Bundler Follow the
          --path
$ bundle install --path vendor
$ echo 'vendor/ruby' >> .gitignore
Package Your Gems in
 vendor/cache

$ bundle package
Help!
alias   b="bundle"
alias   bi="b install --path vendor"
alias   bu="b update"
alias   be="b exec"
alias   binit="bi && b package && ignore_vendor_ruby"
.
!""   .gitignore
!""   .rvmrc
!""   Gemfile
!""   Gemfile.lock
#""   vendor
      !"" cache
      $   !"" coffee-script-2.2.0.gem
      $   !"" coffee-script-source-1.1.0.gem
      $   !"" execjs-0.4.0.gem
      $   #"" multi_json-1.0.2.gem
      #"" ruby
          #"" 1.9.1
               !"" bin
               !"" cache
               !"" doc
               !"" gems
               #"" specifications
.
!""   .gitignore
!""   .rvmrc
!""   Gemfile
!""   Gemfile.lock
#""   vendor
      !"" cache
      $   !"" coffee-script-2.2.0.gem
      $   !"" coffee-script-source-1.1.0.gem
      $   !"" execjs-0.4.0.gem
      $   #"" multi_json-1.0.2.gem
      #"" ruby
          #"" 1.9.1
               !"" bin
               !"" cache
               !"" doc
               !"" gems
               #"" specifications
.
!""   .gitignore
!""   .rvmrc
!""   Gemfile
!""   Gemfile.lock
#""   vendor
      !"" cache
      $   !"" coffee-script-2.2.0.gem
      $   !"" coffee-script-source-1.1.0.gem
      $   !"" execjs-0.4.0.gem
      $   #"" multi_json-1.0.2.gem
      #"" ruby
          #"" 1.9.1
               !"" bin
               !"" cache
               !"" doc
               !"" gems
               #"" specifications
.
!""   .gitignore
!""   .rvmrc
!""   Gemfile
!""   Gemfile.lock
#""   vendor
      !"" cache
      $   !"" coffee-script-2.2.0.gem
      $   !"" coffee-script-source-1.1.0.gem
      $   !"" execjs-0.4.0.gem
                                                  ven dor
      $   #"" multi_json-1.0.2.gem
                                        --p ath
      #"" ruby
                                 sta ll
          #"" 1.9.1
                          le  in
               !"" binund
                    b
               !"" cache
               !"" doc
               !"" gems
               #"" specifications
.
!""   .gitignore
!""   .rvmrc
!""   Gemfile
!""   Gemfile.lock
#""   vendor                   ack age
      !"" cache         dl e p
                    bun
      $   !"" coffee-script-2.2.0.gem
      $   !"" coffee-script-source-1.1.0.gem
      $   !"" execjs-0.4.0.gem
      $   #"" multi_json-1.0.2.gem
      #"" ruby
          #"" 1.9.1
               !"" bin
               !"" cache
               !"" doc
               !"" gems
               #"" specifications
Ryan McGeary
ryan.mcgeary.org   @rmm5t   ryan@mcgeary.org




McGeary Consulting Group

More Related Content

Viewers also liked

Viewers also liked (6)

One Man Lightning Talks
One Man Lightning TalksOne Man Lightning Talks
One Man Lightning Talks
 
CoffeeScript: The Good Parts
CoffeeScript: The Good PartsCoffeeScript: The Good Parts
CoffeeScript: The Good Parts
 
Coffeescript
CoffeescriptCoffeescript
Coffeescript
 
Why A Wiki?
Why A Wiki?Why A Wiki?
Why A Wiki?
 
Ruby Internals
Ruby InternalsRuby Internals
Ruby Internals
 
CoffeeScript By Example
CoffeeScript By ExampleCoffeeScript By Example
CoffeeScript By Example
 

Similar to "Vendor Everything" still applies

Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3
Koji SHIMADA
 

Similar to "Vendor Everything" still applies (20)

Week6
Week6Week6
Week6
 
Build and maintain large ruby applications Ruby Conf Australia 2016
Build and maintain large ruby applications Ruby Conf Australia 2016Build and maintain large ruby applications Ruby Conf Australia 2016
Build and maintain large ruby applications Ruby Conf Australia 2016
 
Device deployment
Device deploymentDevice deployment
Device deployment
 
20091027genentech
20091027genentech20091027genentech
20091027genentech
 
Massive device deployment - EclipseCon 2011
Massive device deployment - EclipseCon 2011Massive device deployment - EclipseCon 2011
Massive device deployment - EclipseCon 2011
 
All about Apache ACE
All about Apache ACEAll about Apache ACE
All about Apache ACE
 
20090622 Velocity
20090622 Velocity20090622 Velocity
20090622 Velocity
 
Ruby gemsパッケージの作り方
Ruby gemsパッケージの作り方Ruby gemsパッケージの作り方
Ruby gemsパッケージの作り方
 
Fixing Growing Pains With Puppet Data Patterns
Fixing Growing Pains With Puppet Data PatternsFixing Growing Pains With Puppet Data Patterns
Fixing Growing Pains With Puppet Data Patterns
 
Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3
 
Ecossistema Ruby - versão SCTI UNF 2013
Ecossistema Ruby - versão SCTI UNF 2013Ecossistema Ruby - versão SCTI UNF 2013
Ecossistema Ruby - versão SCTI UNF 2013
 
When Devs Do Ops
When Devs Do OpsWhen Devs Do Ops
When Devs Do Ops
 
20091110startup2startup
20091110startup2startup20091110startup2startup
20091110startup2startup
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?
 
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
 
High Performance Ruby: Evented vs. Threaded
High Performance Ruby: Evented vs. ThreadedHigh Performance Ruby: Evented vs. Threaded
High Performance Ruby: Evented vs. Threaded
 
RSpec. Part 1
RSpec. Part 1RSpec. Part 1
RSpec. Part 1
 
Ruby 2.1
Ruby 2.1Ruby 2.1
Ruby 2.1
 
Crate - ruby based standalone executables
Crate - ruby based standalone executablesCrate - ruby based standalone executables
Crate - ruby based standalone executables
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

"Vendor Everything" still applies

  • 1. “Vendor Everything” Ryan McGeary http://ryan.mcgeary.org Still Applies @rmm5t
  • 2.
  • 3. e m s e m / g g . g o r f i v e nd c on
  • 5. Check in your .rvmrc rvm ruby-1.9.2
  • 7. Let Bundler Follow the --path $ bundle install --path vendor $ echo 'vendor/ruby' >> .gitignore
  • 8. Package Your Gems in vendor/cache $ bundle package
  • 9. Help! alias b="bundle" alias bi="b install --path vendor" alias bu="b update" alias be="b exec" alias binit="bi && b package && ignore_vendor_ruby"
  • 10. . !"" .gitignore !"" .rvmrc !"" Gemfile !"" Gemfile.lock #"" vendor !"" cache $   !"" coffee-script-2.2.0.gem $   !"" coffee-script-source-1.1.0.gem $   !"" execjs-0.4.0.gem $   #"" multi_json-1.0.2.gem #"" ruby #"" 1.9.1 !"" bin !"" cache !"" doc !"" gems #"" specifications
  • 11. . !"" .gitignore !"" .rvmrc !"" Gemfile !"" Gemfile.lock #"" vendor !"" cache $   !"" coffee-script-2.2.0.gem $   !"" coffee-script-source-1.1.0.gem $   !"" execjs-0.4.0.gem $   #"" multi_json-1.0.2.gem #"" ruby #"" 1.9.1 !"" bin !"" cache !"" doc !"" gems #"" specifications
  • 12. . !"" .gitignore !"" .rvmrc !"" Gemfile !"" Gemfile.lock #"" vendor !"" cache $   !"" coffee-script-2.2.0.gem $   !"" coffee-script-source-1.1.0.gem $   !"" execjs-0.4.0.gem $   #"" multi_json-1.0.2.gem #"" ruby #"" 1.9.1 !"" bin !"" cache !"" doc !"" gems #"" specifications
  • 13. . !"" .gitignore !"" .rvmrc !"" Gemfile !"" Gemfile.lock #"" vendor !"" cache $   !"" coffee-script-2.2.0.gem $   !"" coffee-script-source-1.1.0.gem $   !"" execjs-0.4.0.gem ven dor $   #"" multi_json-1.0.2.gem --p ath #"" ruby sta ll #"" 1.9.1 le in !"" binund b !"" cache !"" doc !"" gems #"" specifications
  • 14. . !"" .gitignore !"" .rvmrc !"" Gemfile !"" Gemfile.lock #"" vendor ack age !"" cache dl e p bun $   !"" coffee-script-2.2.0.gem $   !"" coffee-script-source-1.1.0.gem $   !"" execjs-0.4.0.gem $   #"" multi_json-1.0.2.gem #"" ruby #"" 1.9.1 !"" bin !"" cache !"" doc !"" gems #"" specifications
  • 15. Ryan McGeary ryan.mcgeary.org @rmm5t ryan@mcgeary.org McGeary Consulting Group